|
This patch introduces U-Boot into the fvp-baser-aemv8r64 boot flow,
providing EFI services.
The fvp-baser-aemv8r64 does not have an EL3, so the system starts at
S-EL2. For now, U-Boot is running at S-EL2, alongside boot-wrapper.
Enable the --enable-keep-el option in boot-wrapper-aarch64 so that it
boots the next stage (U-Boot) at S-EL2. Additionally, tell
boot-wrapper-aarch64 to bundle U-Boot instead of the kernel.
Linux only supports booting from S-EL1 on the fvp-baser-aemv8r64, so
U-Boot is configured with CONFIG_SWITCH_TO_EL1, so that booti or bootefi
switch to S-EL1 before booting the EFI payload (unless an enviornment
variable - armv8_switch_to_el1 - is set to 'n').
Add patches to U-Boot, which:
* Add board support for the fvp-baser-aemv8r64 (with a memory map
which is inverted from the fvp-base).
* Enable the configuration of U-Boot using the device tree passed from
boot-wrapper-aarch64.
* Enable virtio-net.
* Disable setting the exception vectors at S-EL2 so that the PSCI
vectors pass through to Linux.
* Set up system registers at S-EL2 for Linux.
* Configure the S-EL2 MPU for the EFI services.
* Allows bootefi to switch to EL1 before booting Linux.
Issue-Id: SCM-3871
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I229d14b0717df412c1fe33772230ca779f79b32d
Signed-off-by: Jon Mason <jon.mason@arm.com>
|