Commit Graph

104 Commits

Author SHA1 Message Date
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Chris Johns
407c87cd88 bsps/powerpc: Fix warnings with PPC_SPECIAL_PURPOSE_REGISTER 2023-04-11 14:55:02 +10:00
Chris Johns
25e1a11402 bsps/motorola_powerpc: Change defines from BSP names to avoid clash
- Change mvme2100 to mot_pcc_mvme2100 to avoid clashing with the
  RTEMS_BSP value for the BSP. You cannot have a define that is the
  BSP name.
2023-04-11 14:54:54 +10:00
Sebastian Huber
e9127eeef4 bsps/vme: Remove quirk
printk() supports long long integers.
2023-04-05 14:21:49 +02:00
Sebastian Huber
64fe53cb51 bsps/vme: Include missing header file 2023-04-05 14:19:07 +02:00
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Sebastian Huber
4c89fbcd31 score: Add CPU_THREAD_LOCAL_STORAGE_VARIANT
Update #3835.
2022-10-14 10:48:22 +02:00
Sebastian Huber
d907c2294a powerpc: Add support for VRSAVE
The VRSAVE feature of the Altivec unit can be used to reduce the amount of
Altivec registers which need to be saved/restored during interrupt processing
and context switches.

In order to use the VRSAVE optimization a corresponding multilib (-mvrsave) is
required, see GCC configuration.  The -mvrsave option must be added to the
ABI_FLAGS of the BSP.

Currently only the -mcpu=e6500 based QorIQ BSP support this optimization.

Update #4712.
2022-09-08 15:54:23 +02:00
Sebastian Huber
21a36ed19b bsps: Fix .data.rel.ro placement
The .data.rel.ro* linker input section pattern accidentally matches with
writeable data those symbol name starts with "ro".

Close #4701.
2022-08-12 10:10:17 +02:00
Sebastian Huber
5ed0035377 bsps: Sort .noinit* sections
Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name.  This allows the placement of begin/end symbols to
initialize some areas with a special value.

Update #4678.
2022-07-15 10:46:02 +02:00
Joel Sherrill
9375d24dc8 bsps/powerpc/shared: Change license to BSD-2
Updates #3053.
2022-07-12 08:15:41 -05:00
Christian Mauderer
3293a21c73 bsps: Automated IMD header file clean up
Use the same form of IMD in all copyright lines

Update #4625.
2022-03-10 09:15:19 +01:00
Joel Sherrill
e560ee85cf bsps/powerpc/: Scripted embedded brains header file clean up
Updates #4625.
2022-03-10 08:43:50 +01:00
Sebastian Huber
a286d28695 powerpc: Use .machine any for some inline asm 2022-02-26 07:40:17 +01:00
Sebastian Huber
8a640bf817 bsps/powerpc: Do no use Newlib internals
The struct _reent::__sdidinit member was renamed in a recent Newlib.
2022-02-25 15:34:06 +01:00
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