From ba29ed0963627618efb8e80acc36c7a24894ed00 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Fri, 31 Oct 2014 20:55:06 +0000 Subject: [PATCH] OvmfPkg Sec: Convert Ia32/SecEntry.asm to NASM The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert Ia32/SecEntry.asm to Ia32/SecEntry.nasm Note: Manually collapsed .inf sources Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen Reviewed-by: Laszlo Ersek git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16291 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/Sec/Ia32/SecEntry.S | 59 ------------------- .../Sec/Ia32/{SecEntry.asm => SecEntry.nasm} | 17 ++---- OvmfPkg/Sec/SecMain.inf | 4 +- 3 files changed, 7 insertions(+), 73 deletions(-) delete mode 100644 OvmfPkg/Sec/Ia32/SecEntry.S rename OvmfPkg/Sec/Ia32/{SecEntry.asm => SecEntry.nasm} (82%) diff --git a/OvmfPkg/Sec/Ia32/SecEntry.S b/OvmfPkg/Sec/Ia32/SecEntry.S deleted file mode 100644 index 0771a87449..0000000000 --- a/OvmfPkg/Sec/Ia32/SecEntry.S +++ /dev/null @@ -1,59 +0,0 @@ -# TITLE SecEntry.asm -#------------------------------------------------------------------------------ -#* -#* 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. -#* -#* CpuAsm.asm -#* -#* Abstract: -#* -#------------------------------------------------------------------------------ - - -#include - -#EXTERN ASM_PFX(SecCoreStartupWithStack) - -# -# SecCore Entry Point -# -# Processor is in flat protected mode -# -# @param[in] EAX Initial value of the EAX register (BIST: Built-in Self Test) -# @param[in] DI 'BP': boot-strap processor, or 'AP': application processor -# @param[in] EBP Pointer to the start of the Boot Firmware Volume -# -# @return None This routine does not return -# -ASM_GLOBAL ASM_PFX(_ModuleEntryPoint) -ASM_PFX(_ModuleEntryPoint): - - # - # Load temporary RAM stack based on PCDs - # - .set SEC_TOP_OF_STACK, FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ - FixedPcdGet32 (PcdOvmfSecPeiTempRamSize) - movl $SEC_TOP_OF_STACK, %eax - movl %eax, %esp - nop - - # - # Setup parameters and call SecCoreStartupWithStack - # [esp] return address for call - # [esp+4] BootFirmwareVolumePtr - # [esp+8] TopOfCurrentStack - # - pushl %eax - pushl %ebp - call ASM_PFX(SecCoreStartupWithStack) - - -#END - diff --git a/OvmfPkg/Sec/Ia32/SecEntry.asm b/OvmfPkg/Sec/Ia32/SecEntry.nasm similarity index 82% rename from OvmfPkg/Sec/Ia32/SecEntry.asm rename to OvmfPkg/Sec/Ia32/SecEntry.nasm index e9458adc49..7fee1c2b2e 100644 --- a/OvmfPkg/Sec/Ia32/SecEntry.asm +++ b/OvmfPkg/Sec/Ia32/SecEntry.nasm @@ -1,4 +1,3 @@ - TITLE SecEntry.asm ;------------------------------------------------------------------------------ ;* ;* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
@@ -18,11 +17,9 @@ #include - .686 - .model flat,C - .code + SECTION .text -EXTERN SecCoreStartupWithStack:PROC +extern ASM_PFX(SecCoreStartupWithStack) ; ; SecCore Entry Point @@ -35,12 +32,13 @@ EXTERN SecCoreStartupWithStack:PROC ; ; @return None This routine does not return ; -_ModuleEntryPoint PROC PUBLIC +global ASM_PFX(_ModuleEntryPoint) +ASM_PFX(_ModuleEntryPoint): ; ; Load temporary RAM stack based on PCDs ; - SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ + %define SEC_TOP_OF_STACK (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ FixedPcdGet32 (PcdOvmfSecPeiTempRamSize)) mov eax, SEC_TOP_OF_STACK mov esp, eax @@ -54,8 +52,5 @@ _ModuleEntryPoint PROC PUBLIC ; push eax push ebp - call SecCoreStartupWithStack + call ASM_PFX(SecCoreStartupWithStack) -_ModuleEntryPoint ENDP - -END diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index 107f60afc2..66ab83353e 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -31,9 +31,7 @@ SecMain.c [Sources.IA32] - Ia32/SecEntry.asm | MSFT - Ia32/SecEntry.asm | INTEL - Ia32/SecEntry.S | GCC + Ia32/SecEntry.nasm [Sources.X64] X64/SecEntry.asm | MSFT