
From: Heinrich Schuchardt xypron.glpk@gmx.de Date: Fri, 31 Aug 2018 19:37:25 +0200
On 06/14/2018 12:41 AM, Mark Kettenis wrote:
If desired (and possible) switch into HYP mode or non-secure SVC mode before calling the entry point of an EFI application. This allows U-Boot to provide a usable PSCI implementation and makes it possible to boot kernels into hypervisor mode using an EFI bootloader.
Based on diffs from Heinrich Schuchardt and Alexander Graf.
Signed-off-by: Mark Kettenis kettenis@openbsd.org
bootefi hello fails on vexpress_ca15_tc2_defconfig when run on qemu with
QEMU_AUDIO_DRV=none qemu-system-arm \ -M vexpress-a15 -cpu cortex-a15 -kernel u-boot \ -net user -net nic,model=lan9118 \ -m 1024M --nographic \ -drive if=sd,file=img.vexpress,media=disk,format=raw
Works for me with:
$ qemu-system-arm --version QEMU emulator version 3.0.0 Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
=> bootefi hello Scanning disks on mmc... MMC Device 1 not found MMC Device 2 not found MMC Device 3 not found Found 3 disks WARNING: booting without device tree ## Starting EFI application at a0008000 ... WARNING: using memory device/image path, this may confuse some payloads! Hello, world! Running on UEFI 2.7 Have SMBIOS table Load options: <none> ## Application terminated, r = 0
That is with CONFIG_CMD_BOOTEFI_HELLO=y added to the vexpress_ca15_tc2_defconfig of course.
Bisection points to efi_loader: ARM: run EFI payloads non-secure commit dc500c369486fbe04000fd325c46bb309e4a1827
That suggests an issue with emulation if the mode switching instructions or HYP support in qemu. Or a toolchain issue of course.
Cheers,
Mark