[RFC PATCH] arm64/efi: use stable virtual mappings for UEFI runtime services
Geoff Levand
geoff.levand at linaro.org
Mon Oct 13 15:52:46 PDT 2014
Hi Ard,
On Wed, 2014-10-08 at 19:38 +0200, Ard Biesheuvel wrote:
> I haven't tested this code under kexec myself, but I have confirmed that
> the runtime services work as expected (rtc-efi and efivars). The comments
> that Mark Salter and Will Deacon gave on the id mapping patch here
I applied this patch to my kexec master branch [1] and tested a basic
kexec re-boot using the FVP_Base_AEMv8A-AEMv8A_0.8_5602 model and the
14.09 LEG EFI build.
It crashes when the 2nd stage kernel is starting up on the first
dereference of the c16 variable in uefi_init():
c16 = early_memremap(efi.systab->fw_vendor, sizeof(vendor));
if (c16) {
for (i = 0; i < (int) sizeof(vendor) - 1 && *c16; ++i) {
^^^^ crashes here
early_memremap() returns 0xFFFFFFBFFBCBF618, and the dereference
starts the crash. I did not look into it further.
[1] https://git.linaro.org/people/geoff.levand/linux-kexec.git
-Geoff
More information about the linux-arm-kernel
mailing list