OVMF SEC: Modify to match new interface of reset vector module
Previously the interface to the SEC module was: ESI/RSI - SEC Core entry point EDI/RDI - PEI Core entry point EBP/RBP - Start of BFV Now it is: RAX/EAX Initial value of the EAX register (BIST: Built-in Self Test) DI 'BP': boot-strap processor, or 'AP': application processor RBP/EBP Address of Boot Firmware Volume (BFV) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9572 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
# TITLE SecEntry.asm
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
#*
|
||||
#* Copyright 2006 - 2009, Intel Corporation
|
||||
@@ -23,16 +22,15 @@
|
||||
#EXTERN ASM_PFX(SecCoreStartupWithStack)
|
||||
|
||||
#
|
||||
# SecCore Entry Point
|
||||
# SecCore Entry Point
|
||||
#
|
||||
# Processor is in flat protected mode
|
||||
# Processor is in flat protected mode
|
||||
#
|
||||
# @param ESI Pointer to SEC Core Entry Point (this function)
|
||||
# @param EDI Pointer to PEI Core Entry Point
|
||||
# @param EBP Pointer to the start of the Boot Firmware Volume
|
||||
#
|
||||
# @return None
|
||||
# @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):
|
||||
@@ -47,14 +45,10 @@ ASM_PFX(_ModuleEntryPoint):
|
||||
#
|
||||
# Setup parameters and call SecCoreStartupWithStack
|
||||
# rcx: BootFirmwareVolumePtr
|
||||
# rdx: SecCoreEntryPoint
|
||||
# r8: PeiCoreEntryPoint
|
||||
# r9: TopOfCurrentStack
|
||||
# rdx: TopOfCurrentStack
|
||||
#
|
||||
movq %rbp, %rcx
|
||||
movq %rsi, %rdx
|
||||
movq %rdi, %r8
|
||||
movq %rsp, %r9
|
||||
movq %rbp, %rcx
|
||||
movq %rsp, %rdx
|
||||
subq $0x20, %rsp
|
||||
call ASM_PFX(SecCoreStartupWithStack)
|
||||
|
||||
|
@@ -23,16 +23,15 @@
|
||||
EXTERN SecCoreStartupWithStack:PROC
|
||||
|
||||
;
|
||||
; SecCore Entry Point
|
||||
; SecCore Entry Point
|
||||
;
|
||||
; Processor is in flat protected mode
|
||||
; Processor is in flat protected mode
|
||||
;
|
||||
; @param ESI Pointer to SEC Core Entry Point (this function)
|
||||
; @param EDI Pointer to PEI Core Entry Point
|
||||
; @param EBP Pointer to the start of the Boot Firmware Volume
|
||||
;
|
||||
; @return None
|
||||
; @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
|
||||
;
|
||||
_ModuleEntryPoint PROC PUBLIC
|
||||
|
||||
@@ -46,14 +45,10 @@ _ModuleEntryPoint PROC PUBLIC
|
||||
;
|
||||
; Setup parameters and call SecCoreStartupWithStack
|
||||
; rcx: BootFirmwareVolumePtr
|
||||
; rdx: SecCoreEntryPoint
|
||||
; r8: PeiCoreEntryPoint
|
||||
; r9: TopOfCurrentStack
|
||||
; rdx: TopOfCurrentStack
|
||||
;
|
||||
mov rcx, rbp
|
||||
mov rdx, rsi
|
||||
mov r8, rdi
|
||||
mov r9, rsp
|
||||
mov rdx, rsp
|
||||
sub rsp, 20h
|
||||
call SecCoreStartupWithStack
|
||||
|
||||
|
Reference in New Issue
Block a user