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
9f3a08ef2d
bsps: Use header file for GIC architecture support
...
This avoids a function call overhead in the interrupt dispatching.
Update #4202 .
2020-12-23 09:24:49 +01:00
Sebastian Huber
23d9223ad3
bsps/arm: Invalidate TLB in start.S
...
Update #4202 .
2020-12-23 09:24:47 +01:00
Sebastian Huber
e164df5e33
bsps/arm: Clear SCTLR[M, I, A, C] in start.S
...
Initialize the data and unified cache levels. Invalidate the
instruction cache levels.
Update #4202 .
2020-12-23 09:19:28 +01:00
Sebastian Huber
b32fd22732
bsps/arm: Add arm-data-cache-loop-set-way.h
...
This makes it possible to reuse this loop.
Update #4202 .
2020-12-23 09:19:28 +01:00
Sebastian Huber
46a3c0446f
bsps/arm: Remove optional start hook arguments
...
The start hook arguments are not used by a BSP. Removing them avoids
the need for a stack during the very early system initialization.
Update #4202 .
2020-12-23 09:19:28 +01:00
Sebastian Huber
76a1a53780
bsps/arm: Invalidate branch predictors earlier
...
Make sure the branch predictors are invalidated before the first branch
is executed.
Update #4202 .
2020-12-23 09:19:28 +01:00
Sebastian Huber
272534eb72
bsps/arm: Set VBAR in start.S
...
Set the VBAR to the vector table in the start section before
bsp_start_hook_0() is called to earlier handle exceptions in RTEMS.
Set the VBAR to the normal vector table in start.S for the main
processor. Secondary processors set it in bsp_start_hook_0().
Update #4202 .
2020-12-23 09:19:17 +01:00
Sebastian Huber
b5aceef5d9
bsps: Remove gicvx_interrupt_dispatch()
...
Avoid one level of indirection.
Update #4202 .
2020-12-16 11:00:03 +01:00
Christian Mauderer
9b3def237a
bsps/arm/imx*: Fix location of shared headers
...
When moving the headers from the imx BSP to the shared area, the wrong
directory has been selected. This patch fixes that problem.
Update #4180
2020-12-14 11:29:36 +01:00
Sebastian Huber
105e52032e
bsps: Remove ARM GIC SGI target filter
...
Remove the target filter for software-generated interrupts since this
feature is not supported by the affinity routing in GICv3.
Update #4202 .
2020-12-10 09:42:50 +01:00
Sebastian Huber
b6925e10c8
bsps: Fix GICv3 arm_gic_trigger_sgi()
...
Use the targets parameter to determine the targets of the SGI. Change
targets parameter type to 32-bit to ease the parameter passing. GICv3
supports up to 16 targets.
Update #4202 .
2020-12-10 09:42:49 +01:00
Sebastian Huber
e68827e1d9
arm/cache-cp15: Support Armv8
...
Update #4202 .
2020-12-10 07:58:03 +01:00
Kinsey Moore
a151ee167e
bsps: Move ARM GICv2 driver to bsps/shared
...
This moves the ARM GICv2 driver to bsps/shared to be usable by AArch64
code.
2020-12-02 18:51:40 -06:00
Kinsey Moore
f0859573f9
bsps: Move zynq-uart to bsps/shared
...
This moves the zynq-uart driver from bsps/arm/shared to bsps/shared to
accomodate use by AArch64 BSPs.
2020-12-02 18:51:40 -06:00
Christian Mauderer
7141afbb0e
bsp/imxrt: Add new BSP
...
Update #4180
2020-11-20 08:53:19 +01:00
Christian Mauderer
6cece58544
bsps/imx: Move imx-gpio to arm/shared
...
Update #4180
2020-11-20 08:53:18 +01:00
Christian Mauderer
e00f443428
imx: Move imx_iomux to arm/shared
...
Update #4180
2020-11-20 08:53:18 +01:00
Sebastian Huber
273613f1a8
bsps/arm: Sort fast text/data sections
2020-10-21 07:58:38 +02:00
Sebastian Huber
3fccdc956c
bsps/arm: Add support for MPU region alignment
...
Update #3910 .
2020-10-21 07:58:34 +02:00
Kinsey Moore
f8ad5bb2a4
bsps: Break out AArch32 GICv3 support
...
This breaks out AArch32-specific code so that the shared GICv3 code can
be reused by other architectures.
2020-10-05 16:11:39 -05:00
Kinsey Moore
1480c3f5e8
bsps: Break out AArch32 portions of GPT driver
...
This breaks AArch32-specific portions of the ARM GPT driver into their
own file so that the generic code can be moved for reuse by other
architectures.
2020-10-05 16:11:39 -05:00
Kinsey Moore
1c03649312
Move ARM PL011 UART driver
...
This UART driver is now needed for BSPs other than ARM.
2020-10-05 16:11:39 -05:00
Sebastian Huber
20d82377a6
arm: Fix arm_cp15_set_translation_table_entries()
...
In a multi-processor system we must broadcast the TLB maintenance operation to
the Inner Shareable domain to ensure that the other processors update their TLB
caches accordingly.
Close #4068 .
2020-09-17 08:20:35 +02:00
Jan Sommer
b87efa7599
bsp/xilinx-zynq: Flush TX-Buffer before initializing uart
...
Closes #4055
Closes #4056
2020-08-22 17:29:25 +10:00
Sebastian Huber
95d37b6307
bsps/arm: Use _Assert()
2020-08-20 14:54:18 +02:00
Christian Mauderer
222d687969
bsps/arm: Fix uninitialized value in generic timer
...
_CPU_Counter_frequency() can be called by the rtems_counter
initialization before arm_gt_clock_initialize() initializes the value
used in _CPU_Counter_frequency().
Closes #3961 .
2020-04-20 09:07:35 +02:00
Sebastian Huber
51307919b4
arm: ARMv7-M statically initialized vector table
...
Statically initialize the ARMv7-M vector table to allow a placement in
ROM with read-only MPU settings.
Change licence to BSD-2-Clause in some files.
2020-04-03 09:12:44 +02:00
Sebastian Huber
e58ecb8433
bsps/arm: Initialize priorities of PPIs
...
At least on GICv1 the interrupts 0 up to including 31 are so called
Peripheral Private Interrupts (PPIs). We have to initialize the
priority of the PPIs on secondary processors.
2020-02-24 09:21:47 +01:00
Sebastian Huber
32991495b4
score: Statically allocate idle/MPCI stacks
...
Place idle and MPCI stacks into extra linker sections. This can be
optionally used by applications to control the placement of the stacks.
Update #3835 .
2020-02-12 09:08:36 +01:00
Sebastian Huber
b900f507cb
arm/xilinx-zynq: Split console driver files
...
This avoids to pull in via printk() the Termios support which pulls in
the file system support. This fixes a spconfig02 test failure.
2020-02-12 09:08:35 +01:00
Sebastian Huber
ffa1153170
bsps: Add RamEnd to linker command files
...
Update #3838 .
2020-02-04 05:52:28 +01:00
Kinsey Moore
ebf0f8f13f
bsps/arm/shared: Add GICv3 implementation
...
This adds support for the GICv3 interrupt controller along with the
redistributor to control SGIs and PPIs which wasn't present in GICv2
implementations. GICv3 implementations only optionally support
memory-mapped GICC interface interaction and require system register
access be implemented, so the GICC interface is accessed only
through system registers.
2020-01-17 16:17:42 -06:00
Sebastian Huber
2497da06de
bsps/arm: Export bsp_start_hook_0_done
...
Close #3789 .
2019-12-19 10:59:20 +01:00
Jeff Kubascik
b51a1d07d0
bsps/arm: Unmask generic timer in interrupt handler
...
Xen will mask the virtual timer before injecting the interrupt to the
guest.
2019-12-05 07:25:52 +01:00
Jeff Kubascik
001cd9bd5c
bsps/arm: Add zImage boot header
...
Xen currently only supports the zImage loader for 32 bit guests on ARM
targets.
2019-12-05 07:25:52 +01:00
Sebastian Huber
f9648baf65
bsps/arm: Add support for small pages MMU
...
The small page MMU support reduces the granularity for memory settings
through the MMU from 1MiB sections to 4KiB small pages.
Enable it by default on the realview_pbx_a9_qemu BSP.
2019-10-31 09:48:05 +01:00
Chris Johns
15b6f44deb
arm/tlb: Fix the MP affinity check to invalidate ASIDs.
...
- The TI's CortexA7 MP MPIDR register returns 0
Updates #3760
2019-08-12 13:58:31 +10:00
Chris Johns
98d6792376
arm: Select the TLB invalidate based on the core's Id variant.
...
Closes #3760
2019-07-31 08:33:05 +10:00
Sebastian Huber
1e6380baf2
bsps/arm: Move HYP to SVC change to start.S
...
This fixes the corruption of r3 by the call to
bsp_start_arm_drop_hyp_mode().
Moving the code makes it easier to review changes in start.S.
Close #3773 .
2019-07-26 08:12:20 +02:00
Sebastian Huber
0ee2125a92
bsps/arm: Move register init to start.S
...
This makes it easier to review changes in start.S.
Update #3773 .
2019-07-26 08:00:48 +02:00
Sebastian Huber
0f5c1d5344
bsps/arm: Remove register init for ARMv7-M
...
There are no known ARMv7-M chips with a dual lockstep mode.
Update #3773 .
2019-07-26 08:00:39 +02:00
Chris Johns
c43071f523
arm: Return the current handler from arm_cp15_set_exception_handler
...
Closes #3762
2019-06-28 09:01:27 +10:00
Sebastian Huber
7fdf48aaf2
score: Add _SMP_Othercast_action()
2019-05-20 08:49:39 +02:00
Sebastian Huber
658700449d
score: Add _SMP_Broadcast_action()
2019-05-20 08:49:39 +02:00
Sebastian Huber
ad40d05eba
score: Remove _SMP_Before_multitasking_action()
...
Use _SMP_Multicast_action() instead.
2019-04-12 09:44:48 +02:00
Jeff Kubascik
b0044305a6
bsp/zynq-uart: Move Zynq UART driver to shared directory
...
This driver will be shared with the xilinx-zynqmp BSP.
Update #3682 .
2019-04-11 07:29:06 +02:00
Sebastian Huber
3fe215502a
Remove superfluous <rtems/system.h> includes
2019-03-14 13:13:27 +01:00
Sebastian Huber
15359bb6cb
bsps/arm: Adjust CMSIS Doxygen groups
...
Update #3706 .
2019-03-08 07:42:54 +01:00