Commit Graph

89 Commits

Author SHA1 Message Date
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Sebastian Huber
c7b4eca7fa bsps/irq: bsp_interrupt_facility_initialize()
Do not return a status code in bsp_interrupt_facility_initialize() since this
leads to unreachable code in bsp_interrupt_initialize().  Use RTEMS_DEBUG
assertions in bsp_interrupt_facility_initialize() if necessary.
2021-07-27 10:03:19 +02:00
Sebastian Huber
32f5a195d7 bsps/irq: bsp_interrupt_vector_disable()
Return a status code for bsp_interrupt_vector_disable().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber
bc86a5fa84 bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable().

Update #3269.
2021-07-26 19:57:30 +02:00
Sebastian Huber
deb5afb2f2 bsps/irq: Add rtems_interrupt_is_pending()
Add a default implementation which just returns RTEMS_UNSATISFIED.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
eebecd09fa bsps/irq: Add rtems_interrupt_get_attributes()
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
9832652c53 bsps/irq: Add rtems_interrupt_raise()
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
781213f9ec bsps/irq: Add rtems_interrupt_vector_is_enabled()
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Joel Sherrill
402a206a1b powerpc/.../sbrk.c: Do not reference errno.
Closes #4r37.
2021-05-25 08:33:04 -05:00
Joel Sherrill
f9d590753a ppc-irq-legacy.c: Use rtems_malloc() instead of malloc().
Closes #4438.
2021-05-25 08:33:04 -05:00
Sebastian Huber
d45f87cf35 score: Add _CPU_Context_switch_no_return()
The __builtin_unreachable() cannot be used with current GCC versions to
tell the compiler that a function does not return to the caller, see:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99151

Add a no return variant of _CPU_Context_switch() to avoid generation of
dead code in _Thread_Start_multitasking() if RTEMS was built with SMP
support enabled.
2021-05-18 08:02:50 +02:00
Sebastian Huber
e10dec0fe7 bsps: Support RTEMS_NOINIT in linkcmds
Update #3866.
2021-05-02 18:41:21 +02:00
Peter Dufault
f8b91c9503 powerpc/shared/console: "termios" first open sets console baud to 9600
When the PowerPC shared console baud rate starts at anything other than
9600 the termios code will set it to 9600 at the first open.
2021-04-27 16:46:52 -06:00
Peter Dufault
9c13e528a0 powerpc/shared/console: Make console baud rate configurable.
The "powerpc/shared/console" code has the start-up console value fixed
at 9600 baud.  This changes the hard-wired constant "9600" in the code
to the configuration setting "BSP_CONSOLE_BAUD" and adds configuration
support in both the "waf" and the legacy configuration systems.

Note that the VME BSPs beatnik, mvme3100, and mve5100 can be improved
by adding a "mvmexxxx" BSP family. This configuration change, as well
as future configuration changes, could then be made in a "grp.yml" file.
2021-04-27 16:46:48 -06:00
Vijay Kumar Banerjee
c90fa83041 bsps: Remove networking drivers
Update #3850
2021-04-07 16:15:38 -06:00
Chris Johns
85df12728a powerpc/shared: Fix warnings in i8259 PIC code. 2021-02-16 09:40:03 +11:00
Chris Johns
53abbbd08d powerpc/shared: Fix warnings 2021-02-16 08:12:43 +11:00
Chris Johns
e1676c1a0d Update motorola_power to irq-generic interrupt management
- Add support to the BSP to enable irq-generic management

- Update the powerpc shared irq code to support irq-generic. This
  is an opt in option for existing powerpc bsps. This change
  should be simpler now

- Fix a number of issues in ISA IRQ controller handling by porting
  fixes from the i386 (PC) BSP

Closes #4238
Closes #4239
2021-02-13 13:26:07 +11:00
Chris Johns
450e238bc6 powerpc/shared: ISA bus bridge fails to enable the openpic irq
- The call to enable the openpic irq for the ISA bridge fails
  because the IRQ used is offset by the ISA bus signals and
  the openpic call expects an IRQ relative to its signals.

- Add the MVME 2600/2700 to the list of boards with an ISA bridge.

Closes #4231
2021-02-08 10:11:13 +11:00
Sebastian Huber
9eb9813dc1 bsps: Add missing DWARF 5 sections
Sort alphabetically.
2021-01-26 15:29:36 +01:00
Sebastian Huber
33c12d5f92 bsps: Support DWARF 5 sections
GCC 11 uses DWARF 5 by default.
2021-01-25 12:56:00 +01:00
Sebastian Huber
33314eb60a bsps/clock: Fix fast idle clock tick support
If we interrupt a thread dispatch critical section (thread dispatch
disable level != ISR nest level), then we should not do the fast idle
mode since this may delay an ongoing system call forever.
2020-07-23 08:56:06 +02:00
Sebastian Huber
9b5af6a47f bsps/powerpc: Fix tlbie instruction usage
GCC 10 no longer passes -many to the assembler.  This enables more
checks in the assembler.

The 0 in the tlbie instruction is the L operand which selects a 4KiB
page size.
2020-07-05 12:56:01 +02:00
Sebastian Huber
9b3b33d91a bsps/powerpc: Fix inline assembly
GCC 10 no longer passes -many to the assembler.  This enables more
checks in the assembler.
2020-07-05 12:56:01 +02:00
Sebastian Huber
eea21eaca1 bsps: Rework work area initialization
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized.  The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap.  In these configurations, the workspace
and C prgram heap should not get initialized.

Change all bsp_work_area_initialize() to implement _Memory_Get()
instead.  Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.

This change adds a dependency to _Heap_Extend() to all BSPs.  This
dependency will be removed in a follow up change.

Update #3838.
2020-02-04 06:06:41 +01:00
Sebastian Huber
34a7a12f48 bsps: Add RTEMS_SYSINIT_BSP_EARLY
Add new BSP system initialization step for work to be performed before
the work areas are initialized.

Update #3838.
2020-02-04 05:52:28 +01:00
Sebastian Huber
ffa1153170 bsps: Add RamEnd to linker command files
Update #3838.
2020-02-04 05:52:28 +01:00
Sebastian Huber
a3706d4ce1 bsps/powerpc: Fix warning
Update #3834.
2020-01-02 07:54:47 +01:00
Sebastian Huber
bb99cd0d83 clock: Simplify driver initialization
Use a system initialization handler instead of a legacy IO driver.

Update #3834.
2019-12-11 09:05:07 +01:00
Sebastian Huber
a6b2080e1c clock: Remove Clock_exit() from API
This function is no longer supported by the standard clock driver
implementation (clockimpl.h).

Update #3436.
2019-12-11 09:04:49 +01:00
Sebastian Huber
30d61a66d9 bsps/powerpc: Fix constructors with priority
Update #3339.
2019-05-07 10:31:51 +02:00
Sebastian Huber
f6895c6d55 bsps/powerpc: Fix C++ exception handling
Close #3736.
2019-05-07 10:31:51 +02:00
Sebastian Huber
9e4895805a bsps/powerpc: Initialize stack earlier
The __eabi() call may use the stack.

Update #3459.
2019-03-15 07:34:07 +01:00
Sebastian Huber
3fe215502a Remove superfluous <rtems/system.h> includes 2019-03-14 13:13:27 +01:00
Sebastian Huber
828276b081 bsps: Adjust shared Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber
c991eeeccc bsps: Adjust bsp.h Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Chris Johns
ec1dd51aae libdl: Add small data support to the remaining PowerPC BSPs.
Updates #3687
2019-03-07 06:33:47 +11:00
Sebastian Huber
dbe6e0ad09 bsps/powerpc: Move .rtemstack section
Move the .rtemsstack section from a read-only to a read-write area, see
page table setup in __BSP_default_pgtbl_setup().
2019-03-04 09:25:21 +01:00
Sebastian Huber
e1fc23f057 bsps/powerpc: Fix PAGE_ALIGN() macros
Previous warning fixes which include <sys/param.h> broke this macro.
The definition of PAGE_MASK changed.
2019-03-04 09:25:21 +01:00
Sebastian Huber
212663bede bsps: Adjust architecture Doxygen groups
- Use CamelCase as it is not used in our C code.  Enables simple search and
   replace.

 - Prefix with "RTEMS" to aid deployment and integration.  It aids
   searching and sorting.

Update #3706.
2019-03-04 07:51:38 +01:00
Sebastian Huber
eec706e2bf bsps/powerpc: Fix small data area section
Fix small data area in case no fixed size is desired.  Rename
bsp_section_set_sdata_sbss_size into bsp_section_small_data_area_size
since this symbol reflects the overall small data area size (including
space for libdl).  Do not use bsp_section_sbss_size before definition in
linker command file.  Add new symbols to <bsp/linker-symbols.h>.

Update #3687.
2019-02-11 11:41:13 +01:00
Chris Johns
6c9f0176a9 libdl: Add powerpc large memory and small data support.
- Add support for architecure sections that can be handled by the
  architecture back end.

- Add trampoline/fixup support for PowerPC. This means the PowerPC
  now supports large memory loading of applications.

- Add a bit allocator to manage small block based regions of memory.

- Add small data (sdata/sbss) support for the PowerPC. The support
  makes the linker allocated small data region of memory a global
  resource available to libdl loaded object files.

Updates #3687
Updates #3685
2019-02-09 10:06:34 +11:00
Sebastian Huber
b1381ae7c3 bsps/powerpc: Fix warnings 2019-01-25 15:50:40 +01:00
Sebastian Huber
81aec18146 bsps/powerpc: Fix 64-bit issues in assembler files
We have to be careful with instructions which operate explicitly on
words or doublewords.

Update #3082.
2019-01-25 15:40:11 +01:00
Marçal Comajoan Cara
0446f68056 Spelling and grammar fixes in source code comments (GCI 2018) 2018-12-04 15:12:53 -06:00
Sebastian Huber
84e59b7c04 bsps/powerpc: Use interrupt stack for init stack
Move start.o to separate file.

Update #3459.
2018-11-19 07:15:47 +01:00
Sebastian Huber
84aedcae3b Include missing <rtems/score/thread.h>
Update #3598.
2018-11-09 15:06:48 +01:00
Sebastian Huber
efdb4a767a bsp/beatnik: Fix warnings 2018-11-09 09:42:31 +01:00
Sebastian Huber
f004b2b8dc Use rtems_task_exit()
Update #3530.
Update #3533.
2018-10-02 10:22:15 +02:00
Sebastian Huber
cb682532cf network: Use kernel/user space header files
Add and use <machine/rtems-bsd-kernel-space.h> and
<machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command
line defines and defines scattered throught the code base.

Simplify cpukit/libnetworking/Makefile.am.

Update #3375.
2018-09-10 10:38:44 +02:00