summaryrefslogtreecommitdiff
path: root/OvmfPkg/Sec/Ia32/SecEntry.asm
diff options
context:
space:
mode:
Diffstat (limited to 'OvmfPkg/Sec/Ia32/SecEntry.asm')
-rw-r--r--OvmfPkg/Sec/Ia32/SecEntry.asm14
1 files changed, 9 insertions, 5 deletions
diff --git a/OvmfPkg/Sec/Ia32/SecEntry.asm b/OvmfPkg/Sec/Ia32/SecEntry.asm
index 4b0e95af48..e9458adc49 100644
--- a/OvmfPkg/Sec/Ia32/SecEntry.asm
+++ b/OvmfPkg/Sec/Ia32/SecEntry.asm
@@ -1,7 +1,7 @@
TITLE SecEntry.asm
;------------------------------------------------------------------------------
;*
-;* Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+;* 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
@@ -38,15 +38,19 @@ EXTERN SecCoreStartupWithStack:PROC
_ModuleEntryPoint PROC PUBLIC
;
- ; Load temporary stack top at very low memory. The C code
- ; can reload to a better address.
+ ; Load temporary RAM stack based on PCDs
;
- mov eax, BASE_512KB
+ SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
+ FixedPcdGet32 (PcdOvmfSecPeiTempRamSize))
+ mov eax, SEC_TOP_OF_STACK
mov esp, eax
nop
;
- ; Call into C code
+ ; Setup parameters and call SecCoreStartupWithStack
+ ; [esp] return address for call
+ ; [esp+4] BootFirmwareVolumePtr
+ ; [esp+8] TopOfCurrentStack
;
push eax
push ebp