[PATCH 00/10] HYP mode handling and RasPi 3 support
Lucas Stach
l.stach at pengutronix.de
Mon Jan 29 08:29:54 PST 2018
Hi,
this series allows Barebox to be entered in HYP mode. As the HYP mode
is a whole different world it just makes sure to install the hooks
needed to get back into HYP and then switches to SVC mode as fast as
it can. The kernel is then started in HYP mode by default.
This is needed in order to get RasPi 3 support in place, where the
firmware opts to hand us the CPUs in HYP mode.
I've tested this series on another ARMv7 board, to make sure I didn't
break something obvious, but I would still welcome some eyeballs on
this code, as it touches a good deal of the lowlevel code.
Enrico Joerns (1):
ARM: rpi: add revision IDs for Pi 3 Model B and Pi Zero
Lucas Stach (9):
ARM: import opcode helpers from Linux kernel
ARM: safely switch from HYP to SVC mode if required
ARM: allow secure monitor code to be built without PSCI
ARM: add file for HYP mode related setup
ARM: don't try to install secure monitor when entered in HYP mode
ARM: default to starting kernel in HYP mode when entered in HYP
ARM: install HYP vectors at PBL and Barebox entry
ARM: rpi: add raspberry pi 3 support
ARM: rpi: autosize malloc area
arch/arm/boards/raspberry-pi/lowlevel.c | 14 +-
arch/arm/boards/raspberry-pi/rpi-common.c | 2 +
arch/arm/configs/rpi_defconfig | 3 +
arch/arm/cpu/Makefile | 4 +
arch/arm/cpu/hyp.S | 115 +++++++++++++++
arch/arm/cpu/lowlevel.S | 23 ++-
arch/arm/cpu/sm.c | 6 +
arch/arm/cpu/sm_as.S | 15 +-
arch/arm/cpu/start-pbl.c | 3 +
arch/arm/cpu/start.c | 3 +
arch/arm/cpu/uncompress.c | 4 +
arch/arm/dts/Makefile | 1 +
arch/arm/dts/bcm2837-rpi-3.dts | 15 ++
arch/arm/include/asm/opcodes-virt.h | 39 +++++
arch/arm/include/asm/opcodes.h | 231 ++++++++++++++++++++++++++++++
arch/arm/include/asm/secure.h | 2 +
arch/arm/include/asm/system.h | 26 ++++
arch/arm/mach-bcm283x/Kconfig | 6 +
arch/arm/mach-bcm283x/core.c | 1 +
arch/arm/mach-bcm283x/include/mach/mbox.h | 4 +
images/Makefile.bcm283x | 4 +
21 files changed, 504 insertions(+), 17 deletions(-)
create mode 100644 arch/arm/cpu/hyp.S
create mode 100644 arch/arm/dts/bcm2837-rpi-3.dts
create mode 100644 arch/arm/include/asm/opcodes-virt.h
create mode 100644 arch/arm/include/asm/opcodes.h
--
2.15.1
More information about the barebox
mailing list