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.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/OvmfPkg/Library/LoadLinuxLib/Linux.c b/OvmfPkg/Library/LoadLinuxLib/Linux.c
index 862698a39e..1da5507ff1 100644
--- a/OvmfPkg/Library/LoadLinuxLib/Linux.c
+++ b/OvmfPkg/Library/LoadLinuxLib/Linux.c
@@ -604,11 +604,14 @@ SetupGraphics (
STATIC
EFI_STATUS
SetupLinuxBootParams (
+ IN VOID *Kernel,
IN OUT struct boot_params *Bp
)
{
SetupGraphics (Bp);
+ Bp->hdr.code32_start = (UINT32)(UINTN) Kernel;
+
SetupLinuxMemmap (Bp);
return EFI_SUCCESS;
@@ -641,18 +644,7 @@ 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))) {
- 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
- //
- SetupLinuxBootParams (KernelSetup);
+ SetupLinuxBootParams (Kernel, (struct boot_params*) KernelSetup);
DEBUG ((EFI_D_INFO, "Jumping to kernel\n"));
DisableInterrupts ();