summaryrefslogtreecommitdiff
path: root/OvmfPkg/Library/LoadLinuxLib/Linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'OvmfPkg/Library/LoadLinuxLib/Linux.c')
-rw-r--r--OvmfPkg/Library/LoadLinuxLib/Linux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/OvmfPkg/Library/LoadLinuxLib/Linux.c b/OvmfPkg/Library/LoadLinuxLib/Linux.c
index 862698a39..c714225e5 100644
--- a/OvmfPkg/Library/LoadLinuxLib/Linux.c
+++ b/OvmfPkg/Library/LoadLinuxLib/Linux.c
@@ -642,13 +642,14 @@ LoadLinux (
InitLinuxDescriptorTables ();
Bp->hdr.code32_start = (UINT32)(UINTN) Kernel;
- if (Bp->hdr.version >= 0x20b && Bp->hdr.handover_offset &&
- (Bp->hdr.load_flags & (sizeof(long) >> 1))) {
+ if (Bp->hdr.version >= 0x20c && Bp->hdr.handover_offset &&
+ (Bp->hdr.load_flags & (sizeof (UINTN) == 4 ? BIT2 : BIT3))) {
DEBUG ((EFI_D_INFO, "Jumping to kernel EFI handover point at ofs %x\n", Bp->hdr.handover_offset));
DisableInterrupts ();
JumpToUefiKernel ((VOID*) gImageHandle, (VOID*) gST, KernelSetup, Kernel);
}
+
//
// Old kernels without EFI handover protocol
//