Skip to contentSkip to conversation

x86_64 EFI runtime service support

PATCH In review Huang, Ying 1 participant 1 message Oct 25, 2007

lore
Share & tools
lore
#0 lore raw

cover x86_64 EFI runtime service support

Following sets of patches add EFI/UEFI (Unified Extensible Firmware Interface) runtime services support to x86_64 architecture. The patches have been tested against 2.6.24-rc1 kernel on Intel platforms with EFI1.10 and UEFI2.0 firmware.

v4:

- EFI boot parameters are extended for 64-bit EFI in a 32-bit EFI compatible way.

- Add EFI runtime services document.

v3:

- Remove E820_RUNTIME_CODE, the EFI memory map is used to deal with EFI runtime code area.

- The method used to make EFI runtime code area executable is change:

a. Before page allocation is usable, the PMD of direct mapping is
changed temporarily before and after each EFI call.

b. After page allocation is usable, change_page_attr_addr is used to
change corresponding page attribute.

- Use fixmap to map EFI memory mapped IO memory area to make kexec workable.

- Add a kernel command line option "noefi" to make it possible to turn off EFI runtime services support.

- Function pointers are used for EFI time runtime service.

- EFI reboot runtime service is embedded into the framework of reboot_type.

- A kernel command line option "noefi_time" is added to make it possible to fall back to CMOS based implementation.

v2:

- The EFI callwrapper is re-implemented in assembler.

Best Regards,
Huang Ying