[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