From d8cfdb5fb1638173f98084cf48860036f7b86b22 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Fri, 31 Oct 2014 20:55:16 +0000 Subject: [PATCH] OvmfPkg Sec: Convert X64/SecEntry.asm to NASM The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert X64/SecEntry.asm to X64/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@16292 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/Sec/SecMain.inf | 4 +- OvmfPkg/Sec/X64/SecEntry.S | 56 ------------------- .../Sec/X64/{SecEntry.asm => SecEntry.nasm} | 18 +++--- 3 files changed, 9 insertions(+), 69 deletions(-) delete mode 100644 OvmfPkg/Sec/X64/SecEntry.S rename OvmfPkg/Sec/X64/{SecEntry.asm => SecEntry.nasm} (81%) diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index 66ab83353e..fce99fb74c 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -34,9 +34,7 @@ Ia32/SecEntry.nasm [Sources.X64] - X64/SecEntry.asm | MSFT - X64/SecEntry.asm | INTEL - X64/SecEntry.S | GCC + X64/SecEntry.nasm [Packages] MdePkg/MdePkg.dec diff --git a/OvmfPkg/Sec/X64/SecEntry.S b/OvmfPkg/Sec/X64/SecEntry.S deleted file mode 100644 index 37354d9f3c..0000000000 --- a/OvmfPkg/Sec/X64/SecEntry.S +++ /dev/null @@ -1,56 +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] RAX Initial value of the EAX register (BIST: Built-in Self Test) -# @param[in] DI 'BP': boot-strap processor, or 'AP': application processor -# @param[in] RBP 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 stack top at very low memory. The C code - # can reload to a better address. - # - .set SEC_TOP_OF_STACK, FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \ - FixedPcdGet32 (PcdOvmfSecPeiTempRamSize) - movq $SEC_TOP_OF_STACK, %rsp - nop - - # - # Setup parameters and call SecCoreStartupWithStack - # rcx: BootFirmwareVolumePtr - # rdx: TopOfCurrentStack - # - movq %rbp, %rcx - movq %rsp, %rdx - subq $0x20, %rsp - call ASM_PFX(SecCoreStartupWithStack) - diff --git a/OvmfPkg/Sec/X64/SecEntry.asm b/OvmfPkg/Sec/X64/SecEntry.nasm similarity index 81% rename from OvmfPkg/Sec/X64/SecEntry.asm rename to OvmfPkg/Sec/X64/SecEntry.nasm index 4135208a3a..f40427aa8e 100644 --- a/OvmfPkg/Sec/X64/SecEntry.asm +++ b/OvmfPkg/Sec/X64/SecEntry.nasm @@ -1,4 +1,3 @@ - TITLE SecEntry.asm ;------------------------------------------------------------------------------ ;* ;* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
@@ -18,9 +17,10 @@ #include -.code +DEFAULT REL +SECTION .text -EXTERN SecCoreStartupWithStack:PROC +extern ASM_PFX(SecCoreStartupWithStack) ; ; SecCore Entry Point @@ -33,12 +33,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 rsp, SEC_TOP_OF_STACK nop @@ -50,9 +51,6 @@ _ModuleEntryPoint PROC PUBLIC ; mov rcx, rbp mov rdx, rsp - sub rsp, 20h - call SecCoreStartupWithStack + sub rsp, 0x20 + call ASM_PFX(SecCoreStartupWithStack) -_ModuleEntryPoint ENDP - -END