[U-Boot] efi_loader: runtime services implementation broken?

Bin Meng bmeng.cn at gmail.com
Tue Jul 3 14:24:02 UTC 2018


Hi Alex, Heinrich,

At present not all interfaces in lib/efi_loader/efi_runtime.c are
declared as __efi_runtime. But only declaring those as __efi_runtime
is not enough. The data these interfaces use should be declared as
__efi_runtime_data too. More worse, any U-Boot APIs called by these
interfaces should be __efi_runtime and __efi_runtime_data
respectively.

Eventually we need mark the RAM where the whole U-Boot image lives as
runtime service code and data and end up leaving whole U-Boot image in
the RAM after kernel boots?

Right now I am testing booting Linux on Intel Galileo with 'bootefi'
and kernel just hangs during the boot. Initial debugging shows that
kernel crashes when calling runtime service
efi_set_virtual_address_map().

Regards,
Bin


More information about the U-Boot mailing list