Commit Graph

191 Commits

Author SHA1 Message Date
Amar Takhar
28180a1fa9 bsps: Convert README to MarkDown 2024-08-05 21:37:42 +00:00
the-m3chanic
c76f41afd3 linker scripts: some more formatting changes (tab --> space) 2024-08-05 21:29:58 +00:00
the-m3chanic
065155b421 sparc: modified linkcmds.base to add new section for GDB pretty-printing 2024-08-05 21:29:58 +00:00
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Sebastian Huber
83f0c0259b bsps: Include <rtems/score/processormaskimpl.h>
This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP
configurations.
2024-04-30 01:39:05 -04:00
Sebastian Huber
5b0e355ed7 bsps: Move declarations to <bsp/irq-generic.h>
Move declarations of bsp_interrupt_get_affinity() and
bsp_interrupt_set_affinity() to <bsp/irq-generic.h>.  Canonicalize the
<bsp/irq.h> includes.

Implement bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if
needed (usually RTEMS_SMP).

Provide stub implementations for i386 to fix build errors.
2024-03-27 20:20:38 +01:00
Sebastian Huber
1df822a922 Mark parameters as intentionally unused
The parameters are unused due to API constraints.  The functions are
used through function pointers.  Alternative implementations may use the
parameters.

Update #4862.
2024-03-22 08:12:22 +01:00
Sebastian Huber
1eed6f8bfc bsps: Avoid unused argument in clock interrupt
Pass the parameter of the clock interrupt handler to
Clock_driver_support_at_tick() and Clock_driver_timecounter_tick().  This makes
it possible to use the interrupt handler argument in clock drivers.

Use the interrupt handler provided by Clock_driver_support_install_isr() to
avoid local delarations of Clock_isr().

Update #4862.
2024-03-20 16:34:09 +01:00
Kinsey Moore
150dcf5e47 libio: Clean up usage of rtems_termios_device_mode
This cleans up outputUsesInterrupts usage with rtems_termios_device_mode
enum values. The outputUsesInterrupts member was typed as an int, named
as if it were a boolean value, and used as if it were a
rtems_termios_device_mode enum. In this patch, values assigned to
outputUsesInterrupts have been converted to the corresponding
rtems_termios_device_mode enum value, conversions from
deviceOutputUsesInterrupts have been made explicit, and uses of
rtems_termios_device_mode enum values with deviceOutputUsesInterrupts
have been converted to booleans.
2024-01-10 14:43:53 -06:00
Sebastian Huber
2e71bd08ba tm27: Add optional TM27_INTERRUPT_VECTOR_DEFAULT
Let the BSP define TM27_INTERRUPT_VECTOR_DEFAULT to more efficiently and
reliably get the TM27 default interrupt vector.

Update #3716.
2023-12-19 08:22:37 +01:00
Sebastian Huber
958d517215 bsps/leon3: Use DSU time tag for GR712RC
Close #4954.
2023-10-20 11:20:14 +02:00
Sebastian Huber
601b84c758 bsps/leon3: leon3_counter_use_irqamp_timestamp()
Simplify leon3_counter_use_irqamp_timestamp().

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
ffa29bac30 bsps/leon3: Statically initialize get timecount
Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
8266a8a335 bsps/leon3: Move code blocks
Move code blocks to simplify C preprocessor usage.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
abb2f8bd66 bsps/leon3: Use custom CPU counter implementation
Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
ff533cec9d bsps/leon3: Simplify clock and CPU counter
Share the timecounter instance between the clock and the CPU counter.
This greatly simplifies the clock driver since we have to do the device
selection only in one place, the CPU counter support.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
3f03a6d2ef bsps/leon3: Make GPTIMER fall back mandatory
Using the auto reload counter which generates the clock ticks for the
timecounter or CPU counter is quite difficult and only works in
uniprocessor configurations.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
b6dc4b4707 sparc: Move CPU counter implementation
Enable a BSP-specific CPU counter implementation.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
8fe0fc4721 bsps/leon3: Optional IRQ(A)MP timestamp support
This is necessary to run the tests on SIS with profiling enabled.

Update #4954.
2023-10-20 11:16:53 +02:00
Sebastian Huber
95cf6e57be bsps/leon3: Update due to register API changes 2023-10-20 11:16:53 +02:00
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