diff options
-rw-r--r-- | OvmfPkg/Sec/SecMain.inf | 4 | ||||
-rw-r--r-- | OvmfPkg/Sec/X64/SecEntry.S | 56 | ||||
-rw-r--r-- | OvmfPkg/Sec/X64/SecEntry.nasm (renamed from OvmfPkg/Sec/X64/SecEntry.asm) | 18 |
3 files changed, 9 insertions, 69 deletions
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.<BR>
-#* 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 <Base.h>
-
-#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 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.<BR>
@@ -18,9 +17,10 @@ #include <Base.h>
-.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
|