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:
jljusten
2009-12-16 23:29:17 +00:00
parent 7a55c43b07
commit 0913fadc1a
8 changed files with 173 additions and 74 deletions

View File

@@ -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)

View File

@@ -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