x86: Add xloadflags bit for EFI runtime support on kexec

Old kexec-tools can not load new kernels. The reason is kexec-tools does
not fill efi_info in x86 setup header previously, thus EFI failed to
initialize.  In new kexec-tools it will by default to fill efi_info and
pass other EFI required infomation to 2nd kernel so kexec kernel EFI
initialization can succeed finally.

To prevent from breaking userspace, add a new xloadflags bit so
kexec-tools can check the flag and switch to old logic.

Signed-off-by: Dave Young <[email protected]>
Acked-by: Borislav Petkov <[email protected]>
Tested-by: Toshi Kani <[email protected]>
Signed-off-by: Matt Fleming <[email protected]>
This commit is contained in:
Dave Young 2013-12-20 18:02:20 +08:00 • committed by Matt Fleming
commit 456a29ddad
3 changed files with 12 additions and 1 deletions

View file

@ -608,6 +608,9 @@ Protocol: 2.12+
- If 1, the kernel supports the 64-bit EFI handoff entry point
given at handover_offset + 0x200.
Bit 4 (read): XLF_EFI_KEXEC
- If 1, the kernel supports kexec EFI boot with EFI runtime support.
Field name: cmdline_size
Type: read
Offset/size: 0x238/4