
On 1/28/19 4:42 PM, Alexander Graf wrote:
While discussing something compeltely different, Ard pointed out that it might be legal to omit calling SetVirtualAddressMap altogether.
While that sounds great, we currently rely on that call to remove all function pointers to code that we do not support outside of boot services.
So let's patch out those bits already on the call to ExitBootServices, so that we can successfully run even when an OS chooses to omit any call to SetVirtualAddressMap.
This patch series is related to a parallel patch in Linux:
efi: arm/arm64: allow SetVirtualAddressMap() to be omitted https://www.spinics.net/lists/linux-efi/msg15457.html
Please, mention it in the next version of the patch series.
The Python test_efi_selftest() has to be adjusted: 23 m = u_boot_console.p.expect(['resetting', 'U-Boot'])
Please, add the missing patch to the series.
Best regards
Heinrich
v1 -> v2:
- Add missing icache invalidation
- New patch: x86: Add efi runtime reset
Alexander Graf (2): x86: Add efi runtime reset efi_loader: Patch non-runtime code out at ExitBootServices already
drivers/sysreset/sysreset_x86.c | 23 +++++++++++++++++++++++ include/efi_loader.h | 2 ++ lib/efi_loader/efi_boottime.c | 1 + lib/efi_loader/efi_runtime.c | 29 ++++++++++++++++++++--------- 4 files changed, 46 insertions(+), 9 deletions(-)