diff options
Diffstat (limited to 'OvmfPkg/Library/LoadLinuxLib/Linux.c')
-rw-r--r-- | OvmfPkg/Library/LoadLinuxLib/Linux.c | 16 |
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 ();
|