From ba29ed0963627618efb8e80acc36c7a24894ed00 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Fri, 31 Oct 2014 20:55:06 +0000 Subject: 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 ---------------------------------------- OvmfPkg/Sec/Ia32/SecEntry.asm | 61 ------------------------------------------ OvmfPkg/Sec/Ia32/SecEntry.nasm | 56 ++++++++++++++++++++++++++++++++++++++ OvmfPkg/Sec/SecMain.inf | 4 +-- 4 files changed, 57 insertions(+), 123 deletions(-) delete mode 100644 OvmfPkg/Sec/Ia32/SecEntry.S delete mode 100644 OvmfPkg/Sec/Ia32/SecEntry.asm create mode 100644 OvmfPkg/Sec/Ia32/SecEntry.nasm (limited to 'OvmfPkg/Sec') 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.asm deleted file mode 100644 index e9458adc49..0000000000 --- a/OvmfPkg/Sec/Ia32/SecEntry.asm +++ /dev/null @@ -1,61 +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 - - .686 - .model flat,C - .code - -EXTERN SecCoreStartupWithStack:PROC - -; -; 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 -; -_ModuleEntryPoint PROC PUBLIC - - ; - ; Load temporary RAM stack based on PCDs - ; - SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ - FixedPcdGet32 (PcdOvmfSecPeiTempRamSize)) - mov eax, SEC_TOP_OF_STACK - mov esp, eax - nop - - ; - ; Setup parameters and call SecCoreStartupWithStack - ; [esp] return address for call - ; [esp+4] BootFirmwareVolumePtr - ; [esp+8] TopOfCurrentStack - ; - push eax - push ebp - call SecCoreStartupWithStack - -_ModuleEntryPoint ENDP - -END diff --git a/OvmfPkg/Sec/Ia32/SecEntry.nasm b/OvmfPkg/Sec/Ia32/SecEntry.nasm new file mode 100644 index 0000000000..7fee1c2b2e --- /dev/null +++ b/OvmfPkg/Sec/Ia32/SecEntry.nasm @@ -0,0 +1,56 @@ +;------------------------------------------------------------------------------ +;* +;* 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 + + SECTION .text + +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 +; +global ASM_PFX(_ModuleEntryPoint) +ASM_PFX(_ModuleEntryPoint): + + ; + ; Load temporary RAM stack based on PCDs + ; + %define SEC_TOP_OF_STACK (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ + FixedPcdGet32 (PcdOvmfSecPeiTempRamSize)) + mov eax, SEC_TOP_OF_STACK + mov esp, eax + nop + + ; + ; Setup parameters and call SecCoreStartupWithStack + ; [esp] return address for call + ; [esp+4] BootFirmwareVolumePtr + ; [esp+8] TopOfCurrentStack + ; + push eax + push ebp + call ASM_PFX(SecCoreStartupWithStack) + 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 -- cgit v1.2.3