diff --git a/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.S b/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.S deleted file mode 100644 index f7440f74c4..0000000000 --- a/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.S +++ /dev/null @@ -1,46 +0,0 @@ -#------------------------------------------------------------------------------ -# -# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php. -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -#------------------------------------------------------------------------------ - -ASM_GLOBAL ASM_PFX(JumpToKernel) -ASM_GLOBAL ASM_PFX(JumpToUefiKernel) - -#------------------------------------------------------------------------------ -# VOID -# EFIAPI -# JumpToKernel ( -# VOID *KernelStart, -# VOID *KernelBootParams -# ); -#------------------------------------------------------------------------------ -ASM_PFX(JumpToKernel): - movl 0x8(%esp), %esi - calll 0x4(%esp) - ret - -#------------------------------------------------------------------------------ -# VOID -# EFIAPI -# JumpToUefiKernel ( -# EFI_HANDLE ImageHandle, -# EFI_SYSTEM_TABLE *SystemTable, -# VOID *KernelBootParams, -# VOID *KernelStart -# ); -#------------------------------------------------------------------------------ -ASM_PFX(JumpToUefiKernel): - movl 0xc(%esp), %eax - movl 0x264(%eax), %eax - addl 0x10(%esp), %eax - jmp %eax - diff --git a/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.asm b/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.nasm similarity index 85% rename from OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.asm rename to OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.nasm index 21d0c4e724..fcb686c644 100644 --- a/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.asm +++ b/OvmfPkg/Library/LoadLinuxLib/Ia32/JumpToKernel.nasm @@ -12,9 +12,7 @@ ; ;------------------------------------------------------------------------------ - .586p - .model flat,C - .code + SECTION .text ;------------------------------------------------------------------------------ ; VOID @@ -24,14 +22,13 @@ ; VOID *KernelBootParams ; ); ;------------------------------------------------------------------------------ -JumpToKernel PROC +global ASM_PFX(JumpToKernel) +ASM_PFX(JumpToKernel): mov esi, [esp + 8] - call DWORD PTR [esp + 4] + call DWORD [esp + 4] ret -JumpToKernel ENDP - ;------------------------------------------------------------------------------ ; VOID ; EFIAPI @@ -42,13 +39,11 @@ JumpToKernel ENDP ; VOID *KernelStart ; ); ;------------------------------------------------------------------------------ -JumpToUefiKernel PROC +global ASM_PFX(JumpToUefiKernel) +ASM_PFX(JumpToUefiKernel): mov eax, [esp + 12] - mov eax, [eax + 264h] + mov eax, [eax + 0x264] add eax, [esp + 16] jmp eax -JumpToUefiKernel ENDP - -END diff --git a/OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf b/OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf index b8f987c477..0d98c26f0b 100644 --- a/OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf +++ b/OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf @@ -31,8 +31,7 @@ LinuxGdt.c [Sources.IA32] - Ia32/JumpToKernel.asm - Ia32/JumpToKernel.S + Ia32/JumpToKernel.nasm [Sources.X64] X64/JumpToKernel.asm