Commit Graph

171 Commits

Author SHA1 Message Date
Sebastian Huber
c173f0581a bsp/leon3: Make declarations conditional
The LEON3_IrqCtrl_Adev object is only defined if LEON3_IRQAMP_BASE is
not defined.

The LEON3_Timer_Adev object is only defined if LEON3_GPTIMER_BASE is not
defined.

Close #4850.
2023-07-28 07:50:15 +02:00
Frank Kühndel
3e1521eea1 bsps/sparc: Add files to Doxygen groups
Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
1425735738 bsp/leon3: Simplify shutdown
Do not wait for other processors to halt.
2023-07-14 12:21:33 +02:00
Sebastian Huber
8d30ae9aa1 bsp/leon3: Add specialized target hash 2023-07-14 12:21:33 +02:00
Sebastian Huber
97f5e1c0cb bsp/leon3: Fix group memberships
Update #3706.
2023-07-14 12:21:33 +02:00
Sebastian Huber
3e0314e8be bsps/sparc: Remove BSP_POWER_DOWN_AT_FATAL_HALT
Remove the BSP_POWER_DOWN_AT_FATAL_HALT BSP option.  Applications should
do the customization of the system termination with an initial fatal
extension.
2023-07-14 12:21:33 +02:00
Sebastian Huber
63626a5d2e bsp/leon3: Enable up-counter conditionally 2023-07-14 12:21:33 +02:00
Sebastian Huber
dc16709697 bsp/leon3: Use LEON3_GPTIMER_BASE 2023-07-14 12:21:33 +02:00
Sebastian Huber
f6b7279687 bsp/leon3: Add LEON3_IRQAMP_EXTENDED_INTERRUPT 2023-07-14 12:21:33 +02:00
Sebastian Huber
1d1c0e5d9a bsp/leon3: Add LEON3_PROBE_ASR_22_23_UP_COUNTER 2023-07-14 12:21:33 +02:00
Sebastian Huber
3773a63b2a bsp/leon3: Simplify fatal error handling 2023-07-14 12:21:33 +02:00
Sebastian Huber
2aff2d03cb bsp/leon3: Move leon3_power_down_loop() 2023-07-14 12:21:33 +02:00
Sebastian Huber
314945468c bsp/leon3: Add LEON3_L2CACHE_BASE 2023-07-14 12:21:33 +02:00
Sebastian Huber
de278269ac bsp/leon3: Add LEON3_HAS_ASR_22_23_UP_COUNTER 2023-07-14 12:21:33 +02:00
Sebastian Huber
3f1186fd07 bsp/leon3: Add LEON3_IRQAMP_PROBE_TIMESTAMP 2023-07-14 12:21:33 +02:00
Sebastian Huber
824556e0b8 bsp/leon3: Add LEON3_IRQAMP_BASE 2023-07-14 12:21:33 +02:00
Sebastian Huber
8f235798a6 bsp/leon3: Add LEON3_GPTIMER_BASE 2023-07-14 12:21:33 +02:00
Sebastian Huber
ac9c55b017 bsp/leon3: LEON3_PLB_FREQUENCY_DEFINED_BY_GPTIMER 2023-07-14 12:21:33 +02:00
Sebastian Huber
fc97810ce3 bsp/leon3: Add LEON3_APBUART_BASE 2023-07-14 12:21:33 +02:00
Sebastian Huber
37880fc656 bsp/leon3: Use new L2CACHE register block API 2023-07-14 12:21:33 +02:00
Sebastian Huber
d85c505ab0 bsp/leon3: Use new GPTIMER register block API 2023-07-14 12:21:33 +02:00
Sebastian Huber
8c9daf56f8 bsp/leon3: Move system control register support
Move, document, and reformat support functions from <leon.h> to
<bsp/leon3.h>.
2023-07-14 12:21:33 +02:00
Sebastian Huber
c77a20e85b bsp/leon3: Use new IRQ(A)MP register block API 2023-07-14 12:21:33 +02:00
Sebastian Huber
32ff60293b bsp/leon3: Move and simplify bsp_irq_fixup() 2023-07-14 12:21:33 +02:00
Sebastian Huber
a5f95cbb57 bsp/leon3: Untangle interrupt controller support
Separate the probing of the interrupt controller from the
initialization.
2023-07-14 12:21:33 +02:00
Sebastian Huber
8fdecf6c55 bsps: Use new APBUART register block API 2023-07-14 12:21:33 +02:00
Sebastian Huber
cba956b5d0 bsps/grlib: Move GR740-specific registers
Update #4842.
2023-07-14 09:11:19 +02:00
Sebastian Huber
2d71cba033 bsps/grlib: Add generated headers
Close #4828.
2023-07-14 09:11:19 +02:00
Sebastian Huber
65b0ba4d8a bsps/sparc: Deprecate BSP-specific interrupt API
Update #3269.
2023-06-16 07:30:50 +02:00
Sebastian Huber
4e3e9df1b4 bsps: Remove uses of BSP-specific interrupt API
Update #3269.
2023-06-16 07:30:50 +02:00
Sebastian Huber
97a4b306f4 bsp/leon2: Include missing header file
Update #4458.
2023-06-15 20:04:22 +02:00
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
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Sebastian Huber
b993111594 bsp/leon3: Move SMP data to start.S
The LEON3_Boot_Cpu global object is only used by start.S.  Move the definition
of this object to start.S and use a local symbol .Lbootcpuindex for it.

Use a compare-and-swap instruction to assign the boot CPU.  This allows a
concurrent initialization.

Close #4845.
2023-02-10 16:15:52 +01:00
Sebastian Huber
10ee41a8a3 tm27: Avoid function pointer casts
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.

Close #4820.
2023-01-24 09:56:53 +01:00
Daniel Cederman
e01e499490 bsps/sparc: Change license to BSD-2 for files with Gaisler copyright
This patch changes the license to BSD-2 for all source files where the
copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research.
Some files also includes copyright right statements from OAR and/or
embedded Brains in addition to Gaisler.

Updates #3053.
2022-11-14 10:59:44 +01:00
Sebastian Huber
a660e9dc47 Do not use RTEMS_INLINE_ROUTINE
Directly use "static inline" which is available in C99 and later.  This brings
the RTEMS implementation closer to standard C.

Close #3935.
2022-09-19 09:09:22 +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
7a9b240801 bsps/sparc: Scripted embedded brains header file clean up
Updates #4625.
2022-03-10 08:43:50 +01:00
Sebastian Huber
1b1ace7620 bsp/leon3: Fix warning 2022-03-08 08:12:47 +01:00
Sebastian Huber
cfeb3cbb68 bsp/leon3: Include missing header file
The <leon.h> include was removed from <bsp.h> in commit
1577a48369.
2022-03-08 08:12:47 +01:00
Sebastian Huber
f44e2c99cc bsp/leon3: Do not invalidate cache in SMP start
Since the trap table is now statically initialized, there is no need to
invalidate the instruction cache.
2021-12-13 07:32:58 +01:00
Sebastian Huber
044701eb8b bsp/leon3: Use interrupt entry for tm27 support
Using rtems_interrupt_entry_install() instead of
rtems_interrupt_handler_install() avoids a dependency on the dynamic memory
allocation.

Use Interrupt Manager directives instead of a BSP-specific API.  Use inline
functions.  In SMP configurations, set an affinity to all online processors and
raise the interrupt on the current processor.
2021-12-13 07:32:58 +01:00
Sebastian Huber
1179430fb4 bsp/leon3: Use interrupt entry for the SMP support
Using rtems_interrupt_entry_install() instead of
rtems_interrupt_handler_install() avoids a dependency on the dynamic memory
allocation.
2021-12-13 07:32:58 +01:00
Sebastian Huber
6318154199 bsp/leon3: Use interrupt entry for Clock Driver
Using rtems_interrupt_entry_install() instead of
rtems_interrupt_handler_install() avoids a dependency on the dynamic memory
allocation.
2021-12-13 07:32:58 +01:00
Joel Sherrill
dd70c81699 bsp_specs: Delete last remnants of these.
Updates #3937.
2021-11-29 08:50:03 -06:00
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Sebastian Huber
01d22f7f79 bsps/leon3: Rename fatal error code
Rename LEON3_FATAL_INVALID_CACHE_CONFIG_MAIN_PROCESSOR in
LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR since the term
"boot processor" is used elsewhere in the code base.
2021-09-02 09:22:38 +02:00
Sebastian Huber
75af5be6a8 bsp/leon3: Fix rtems_interrupt_is_pending()
Take the interrupt force register into account in all configurations.

Update #3269.
2021-08-12 21:06:39 +02:00
Sebastian Huber
8b65b57472 score: Canonicalize _CPU_Fatal_halt()
Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it
is a proper declaration of a function which does not return.  Fix the type of
the error code.  If necessary, add the implementation to cpu.c.  Implementing
_CPU_Fatal_halt() as a function makes it possible to wrap this function for
example to fully test _Terminate().
2021-07-28 21:04:20 +02:00