From: Pavel Pisa <p...@cmp.felk.cvut.cz> These changes allows to boot Raspberry Pi 2 with recent firmware which start system in ARM hypervisor (HYP) mode.
There are more changes to correct/make compile cache manager functions for more boards (till now only Zynq, Altera Cyclone and LPC32xx have non empty implementation included). Cache maintenance is required for communication with VideoCore on RPi2. Actual series leaves local workaround solution in that place but mailbox code has been tested to work even with proposed deeper change in cache manager. I am not sure about last three patches but at least series including arm/raspberrypi: update VideoCore cache flush workaround to work on RPi2. should be in shape for mainline and should help other projects working on RPi. Pavel Pisa (10): arm/score and shared: define ARM hypervisor mode and alternate vector table base access. bsps/arm: Support recent bootloaders starting kernel in HYP mode arm/raspberrypi: Enable HYP to SVC switch for this BSP. score/arm: Ensure that copile time alignment is 64 bytes for Cortex-A multilib. arm/raspberrypi: update VideoCore cache flush workaround to work on RPi2. rtems+bsps/cache: Define cache manager operations for code synchronization and maximal alignment. bsp/arm: Report correct maximal cache line length for ARM Cortex-A + L2C-310. bsps/arm: Change code to explicit selection of cache implementation for ARM BSPs. libdl/rtl-obj.c: ensure that loaded code is synchronized through caches. bsps/arm: basic on core cache support changed to use l1 functions. c/src/lib/libbsp/arm/beagle/Makefile.am | 5 +- c/src/lib/libbsp/arm/csb336/Makefile.am | 6 +- c/src/lib/libbsp/arm/csb337/Makefile.am | 6 +- c/src/lib/libbsp/arm/lpc32xx/Makefile.am | 6 +- c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 11 +- c/src/lib/libbsp/arm/raspberrypi/configure.ac | 4 + c/src/lib/libbsp/arm/raspberrypi/misc/vc.c | 15 +- c/src/lib/libbsp/arm/raspberrypi/preinstall.am | 4 - c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am | 5 +- c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h | 4 + .../arm/shared/armv467ar-basic-cache/cache_.h | 171 +++++++++++++++++++++ c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h | 71 ++++----- .../lib/libbsp/arm/shared/include/linker-symbols.h | 4 + c/src/lib/libbsp/arm/shared/include/start.h | 13 +- c/src/lib/libbsp/arm/shared/start/start.S | 73 ++++++++- .../arm/shared/startup/bsp-start-in-hyp-support.S | 77 ++++++++++ c/src/lib/libbsp/arm/shared/startup/linkcmds.base | 9 +- c/src/lib/libbsp/arm/smdk2410/Makefile.am | 6 +- c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 61 +++++++- c/src/lib/libcpu/arm/shared/include/cache_.h | 134 ++++------------ c/src/lib/libcpu/shared/src/cache_manager.c | 42 +++++ cpukit/libcsupport/src/cachealignedalloc.c | 2 +- cpukit/libdl/rtl-obj.c | 2 + cpukit/rtems/include/rtems/rtems/cache.h | 29 ++++ cpukit/score/cpu/arm/rtems/score/arm.h | 4 + cpukit/score/cpu/arm/rtems/score/cpu.h | 8 +- 26 files changed, 592 insertions(+), 180 deletions(-) create mode 100644 c/src/lib/libbsp/arm/shared/armv467ar-basic-cache/cache_.h create mode 100644 c/src/lib/libbsp/arm/shared/startup/bsp-start-in-hyp-support.S -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel