efi_loader: detach runtime in ExitBootServices()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 5 Jul 2019 15:42:16 +0000 (17:42 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 6 Jul 2019 19:25:32 +0000 (21:25 +0200)
commit7f95104d91ccfb26f802feb5300838b41bc5fbb1
tree20a820fb1e3a9b98aa134a74b8a84228c263ec60
parentb23ffcbe02dc7182d910ab081bd6d33a5b540777
efi_loader: detach runtime in ExitBootServices()

Linux can be called with a command line parameter efi=novamap, cf.
commit 4e46c2a95621 ("efi/arm/arm64: Allow SetVirtualAddressMap() to be
omitted"). In this case SetVirtualAddressMap() is not called after
ExitBootServices().

OpenBSD 32bit does not call SetVirtualAddressMap() either.

Runtime services must be set to an implementation supported at runtime
in ExitBootServices().

Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Alexander Graf <agraf@csgraf.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
include/efi_loader.h
lib/efi_loader/efi_boottime.c
lib/efi_loader/efi_runtime.c