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 <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16292 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ba29ed0963
commit
d8cfdb5fb1
@ -34,9 +34,7 @@
|
|||||||
Ia32/SecEntry.nasm
|
Ia32/SecEntry.nasm
|
||||||
|
|
||||||
[Sources.X64]
|
[Sources.X64]
|
||||||
X64/SecEntry.asm | MSFT
|
X64/SecEntry.nasm
|
||||||
X64/SecEntry.asm | INTEL
|
|
||||||
X64/SecEntry.S | GCC
|
|
||||||
|
|
||||||
[Packages]
|
[Packages]
|
||||||
MdePkg/MdePkg.dec
|
MdePkg/MdePkg.dec
|
||||||
|
@ -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)
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
|||||||
TITLE SecEntry.asm
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
;* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
@ -18,9 +17,10 @@
|
|||||||
|
|
||||||
#include <Base.h>
|
#include <Base.h>
|
||||||
|
|
||||||
.code
|
DEFAULT REL
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
EXTERN SecCoreStartupWithStack:PROC
|
extern ASM_PFX(SecCoreStartupWithStack)
|
||||||
|
|
||||||
;
|
;
|
||||||
; SecCore Entry Point
|
; SecCore Entry Point
|
||||||
@ -33,12 +33,13 @@ EXTERN SecCoreStartupWithStack:PROC
|
|||||||
;
|
;
|
||||||
; @return None This routine does not return
|
; @return None This routine does not return
|
||||||
;
|
;
|
||||||
_ModuleEntryPoint PROC PUBLIC
|
global ASM_PFX(_ModuleEntryPoint)
|
||||||
|
ASM_PFX(_ModuleEntryPoint):
|
||||||
|
|
||||||
;
|
;
|
||||||
; Load temporary RAM stack based on PCDs
|
; Load temporary RAM stack based on PCDs
|
||||||
;
|
;
|
||||||
SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
|
%define SEC_TOP_OF_STACK (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
|
||||||
FixedPcdGet32 (PcdOvmfSecPeiTempRamSize))
|
FixedPcdGet32 (PcdOvmfSecPeiTempRamSize))
|
||||||
mov rsp, SEC_TOP_OF_STACK
|
mov rsp, SEC_TOP_OF_STACK
|
||||||
nop
|
nop
|
||||||
@ -50,9 +51,6 @@ _ModuleEntryPoint PROC PUBLIC
|
|||||||
;
|
;
|
||||||
mov rcx, rbp
|
mov rcx, rbp
|
||||||
mov rdx, rsp
|
mov rdx, rsp
|
||||||
sub rsp, 20h
|
sub rsp, 0x20
|
||||||
call SecCoreStartupWithStack
|
call ASM_PFX(SecCoreStartupWithStack)
|
||||||
|
|
||||||
_ModuleEntryPoint ENDP
|
|
||||||
|
|
||||||
END
|
|
Loading…
x
Reference in New Issue
Block a user