x86_64 EFI runtime service support
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 3 repliesIn review
v5 from the cover letter
- Remove the duplicated code between efi_32.c and efi_64.c.
- Rename lin2win<x> to efi_call<x>.
- Make EFI time runtime service default to off.
- Use different bootloader signature for EFI32 and EFI64, so that kernel can know whether underlaying EFI firmware is 64-bit or 32-bit.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | x86_64 EFI runtime service support: EFI basic runtime service supportarch/ arch/ arch/ +6 more | +836 | 0 replies | |
| 2/4 | x86_64 EFI runtime service support: EFI runtime servicesarch/ arch/ include/ +3 more | +107 | 3 replies | |
| 3/4 | x86_64 EFI runtime service support: document for EFI runtime servicesDocumentation/ Documentation/ | +19 | 0 replies | |
| 4/4 | x86_64 EFI runtime service support: remove duplicated code from efi_32.carch/ arch/ arch/ +2 more | +42 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/4 -v5] x86_64 EFI runtime service support
Following patchset adds EFI/UEFI (Unified Extensible Firmware Interface) runtime services support to x86_64 architecture.
The patchset have been tested against 2.6.24-rc1 kernel on Intel platforms with 64-bit EFI1.10 and UEFI2.0 firmware. Because the duplicated code between efi_32.c and efi_64.c is removed, the patchset is also tested on Intel platform with 32-bit EFI firmware.
v5:
- Remove the duplicated code between efi_32.c and efi_64.c.
- Rename lin2win<x> to efi_call<x>.
- Make EFI time runtime service default to off.
- Use different bootloader signature for EFI32 and EFI64, so that kernel can know whether underlaying EFI firmware is 64-bit or 32-bit.
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