# TITLE SecEntry.asm
-
#------------------------------------------------------------------------------
#*
#* Copyright 2006 - 2009, Intel Corporation
#EXTERN ASM_PFX(SecCoreStartupWithStack)
#
-# SecCore Entry Point
-#
-# Processor is in flat protected mode
+# SecCore Entry Point
#
-# @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
+# Processor is in flat protected mode
#
-# @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
#
-.intel_syntax
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.
#
- mov %rsp, INITIAL_TOP_OF_STACK
+ movq $INITIAL_TOP_OF_STACK, %rsp
nop
#
# 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
+ movq %rbp, %rcx
+ movq %rsp, %rdx
+ subq $0x20, %rsp
call ASM_PFX(SecCoreStartupWithStack)