[PATCH 00/10] HYP mode boot and cache manager updates for ARM and RaspberryPi specially.
pisa at cmp.felk.cvut.cz
pisa at cmp.felk.cvut.cz
Mon Jul 4 00:07:04 UTC 2016
From: Pavel Pisa <pisa at 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
More information about the devel
mailing list