
On Fri, May 24, 2019 at 07:27:11AM +0200, Heinrich Schuchardt wrote:
On 5/22/19 5:15 AM, AKASHI Takahiro wrote:
Alex,
It seems to me that the current efi_runtime_detach() has two meanings:
- changes relating to the transition to virtual address mode
- changes relating to exiting boot services
In the current implementation, efi_runtime_detach() is called from efi_set_virtual_address_map() as those two purposes are apparently the same. For instance, however, systab.con_in/out/std_err/boottime are set to NULL in exit_boot_services() as well. Logically, efi_get_variable() won't work as U-Boot environment data can be potentially re-used at any time after exit_boot_services(). The only meaningful change is to invalidate efi_set_virtual_address_map().
So I believe that we should distinguish the two purposes and make appropriate changes in efi_set_virtual_address_map() and and exit_boot_services() respectively.
This will be crucial particularly when I will add runtime variable support using "cache".
Any thoughts?
Please, consider this pending patch from Alex: https://patchwork.ozlabs.org/patch/1054074/ efi_loader: Patch non-runtime code out at ExitBootServices already
@Alex, what is the current status of this patch?
Unfortunately Travis CI is still failing with the patch and QEMU arm64 does not reboot.
What error did you see? After what, did qemu arm64 fail to reboot?
-Takahiro Akashi
Best regards
Heinrich
Thanks, -Takahiro Akashi