This patch set adds a BSP to support the Arm Fixed Virtual Platform. Only the Cortex-R52 processor configuration is supported by the BSP. It should be easy to add support for other variants if needed.
The patch set consolidates the low-level initialization and moves the architecture-specific (Armv7-AR and later) initialization from BSP-specific routines to start.S. This was tested on the following Qemu BSPs: * aarch64/xilinx_zynqmp_ilp32 * aarch64/xilinx_zynqmp_lp64 * arm/fvp_cortex_r52 * arm/realview_pbx_a9_qemu * arm/xilinx_zynq_a9_qemu Sebastian Huber (13): libdebugger: Fix for Armv8-R bsps: Fix includes arm: Add header file for AArch32 System Registers arm: Add support for Arm PMSAv8-32 bsps/arm: Set VBAR in start.S bsps/arm: Invalidate branch predictors earlier bsps/arm: Remove optional start hook arguments bsps/arm: Add arm-data-cache-loop-set-way.h bsps/arm: Clear SCTLR[M, I, A, C] in start.S bsps/arm: Invalidate TLB in start.S bsps: Use header file for GIC architecture support bsps/arm: Rely on initialized vector table arm/fvp: New BSP .../dev/irq/arm-gic-arch.h} | 21 +- .../altera-cyclone-v/start/bspstarthooks.c | 2 - bsps/arm/beagle/start/bspstarthooks.c | 4 - bsps/arm/fvp/console/console.c | 83 + bsps/arm/fvp/console/printk-support.c | 47 + bsps/arm/fvp/include/bsp.h | 70 + bsps/arm/fvp/include/bsp/irq.h | 47 + bsps/arm/fvp/include/bsp/semihosting.h | 130 + bsps/arm/fvp/include/tm27.h | 1 + bsps/arm/fvp/start/bspreset.c | 48 + bsps/arm/fvp/start/bspsmp.c | 49 + bsps/arm/fvp/start/bspstart.c | 66 + bsps/arm/fvp/start/bspstarthooks.c | 97 + bsps/arm/fvp/start/pmsa-sections.c | 56 + bsps/arm/headers.am | 1 - bsps/arm/imx/start/bspstarthooks.c | 1 - bsps/arm/include/bsp/arm-a8core-start.h | 55 - bsps/arm/include/bsp/arm-a9mpcore-start.h | 29 +- bsps/arm/include/bsp/start.h | 13 +- .../dev/cache/arm-data-cache-loop-set-way.h | 96 + .../dev/irq/arm-gic-arch.h} | 27 +- bsps/arm/raspberrypi/start/bspsmp_init.c | 5 +- bsps/arm/raspberrypi/start/bspstarthooks.c | 52 +- .../shared/cache/cache-v7ar-disable-data.S | 71 +- bsps/arm/shared/start/start.S | 142 +- bsps/arm/xen/start/bspstarthooks.c | 2 - bsps/arm/xilinx-zynq/start/bspstarthooks.c | 36 - bsps/arm/xilinx-zynqmp/start/bspstarthooks.c | 43 +- bsps/include/dev/irq/arm-gic-irq.h | 13 - bsps/shared/dev/irq/arm-gicv2.c | 1 + bsps/shared/dev/irq/arm-gicv3.c | 7 + .../libbsp/arm/altera-cyclone-v/Makefile.am | 1 - c/src/lib/libbsp/arm/imx/Makefile.am | 1 - .../libbsp/arm/realview-pbx-a9/Makefile.am | 1 - c/src/lib/libbsp/arm/xen/Makefile.am | 1 - c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am | 1 - .../lib/libbsp/arm/xilinx-zynqmp/Makefile.am | 1 - cpukit/libdebugger/rtems-debugger-arm.c | 7 + .../score/cpu/arm/aarch32-psma-init-default.c | 60 + cpukit/score/cpu/arm/aarch32-psma-init.c | 194 + .../arm/include/rtems/score/aarch32-pmsa.h | 314 + .../rtems/score/aarch32-system-registers.h | 14657 ++++++++++++++++ spec/build/bsps/aarch64/a53/obj.yml | 1 - spec/build/bsps/aarch64/grp.yml | 1 + spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml | 1 - .../altera-cyclone-v/bspalteracyclonev.yml | 1 - spec/build/bsps/arm/fvp/abi.yml | 20 + spec/build/bsps/arm/fvp/bspcortexr52.yml | 19 + spec/build/bsps/arm/fvp/grp.yml | 58 + spec/build/bsps/arm/fvp/linkcmds.yml | 53 + spec/build/bsps/arm/fvp/obj.yml | 44 + spec/build/bsps/arm/fvp/objsmp.yml | 16 + spec/build/bsps/arm/fvp/optdevbegin.yml | 22 + spec/build/bsps/arm/fvp/optdevsize.yml | 18 + spec/build/bsps/arm/fvp/optdrambegin.yml | 22 + spec/build/bsps/arm/fvp/optdramsize.yml | 23 + spec/build/bsps/arm/fvp/optnullsize.yml | 21 + spec/build/bsps/arm/grp.yml | 2 +- spec/build/bsps/arm/imx/bspimx.yml | 1 - spec/build/bsps/arm/optgiccpuif.yml | 19 + spec/build/bsps/arm/optgicdist.yml | 19 + spec/build/bsps/arm/optgicredist.yml | 19 + spec/build/bsps/arm/optgicspicount.yml | 17 + spec/build/bsps/arm/optgtfreq.yml | 5 +- .../arm/realview-pbx-a9/bsprealviewpbxa9.yml | 1 - spec/build/bsps/arm/xen/bspxen.yml | 1 - spec/build/bsps/arm/xilinx-zynq/obj.yml | 1 - .../arm/xilinx-zynqmp/bspxilinxzynqmp.yml | 1 - spec/build/cpukit/cpuarm.yml | 2 + spec/build/cpukit/optsmp.yml | 1 + 70 files changed, 16589 insertions(+), 373 deletions(-) rename bsps/aarch64/{shared/irq/irq-arm-gicvx-aarch64.c => include/dev/irq/arm-gic-arch.h} (84%) create mode 100644 bsps/arm/fvp/console/console.c create mode 100644 bsps/arm/fvp/console/printk-support.c create mode 100644 bsps/arm/fvp/include/bsp.h create mode 100644 bsps/arm/fvp/include/bsp/irq.h create mode 100644 bsps/arm/fvp/include/bsp/semihosting.h create mode 100644 bsps/arm/fvp/include/tm27.h create mode 100644 bsps/arm/fvp/start/bspreset.c create mode 100644 bsps/arm/fvp/start/bspsmp.c create mode 100644 bsps/arm/fvp/start/bspstart.c create mode 100644 bsps/arm/fvp/start/bspstarthooks.c create mode 100644 bsps/arm/fvp/start/pmsa-sections.c delete mode 100644 bsps/arm/include/bsp/arm-a8core-start.h create mode 100644 bsps/arm/include/dev/cache/arm-data-cache-loop-set-way.h rename bsps/arm/{shared/irq/irq-arm-gicvx-aarch32.c => include/dev/irq/arm-gic-arch.h} (79%) create mode 100644 cpukit/score/cpu/arm/aarch32-psma-init-default.c create mode 100644 cpukit/score/cpu/arm/aarch32-psma-init.c create mode 100644 cpukit/score/cpu/arm/include/rtems/score/aarch32-pmsa.h create mode 100644 cpukit/score/cpu/arm/include/rtems/score/aarch32-system-registers.h create mode 100644 spec/build/bsps/arm/fvp/abi.yml create mode 100644 spec/build/bsps/arm/fvp/bspcortexr52.yml create mode 100644 spec/build/bsps/arm/fvp/grp.yml create mode 100644 spec/build/bsps/arm/fvp/linkcmds.yml create mode 100644 spec/build/bsps/arm/fvp/obj.yml create mode 100644 spec/build/bsps/arm/fvp/objsmp.yml create mode 100644 spec/build/bsps/arm/fvp/optdevbegin.yml create mode 100644 spec/build/bsps/arm/fvp/optdevsize.yml create mode 100644 spec/build/bsps/arm/fvp/optdrambegin.yml create mode 100644 spec/build/bsps/arm/fvp/optdramsize.yml create mode 100644 spec/build/bsps/arm/fvp/optnullsize.yml create mode 100644 spec/build/bsps/arm/optgiccpuif.yml create mode 100644 spec/build/bsps/arm/optgicdist.yml create mode 100644 spec/build/bsps/arm/optgicredist.yml create mode 100644 spec/build/bsps/arm/optgicspicount.yml -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel