OvmfPkg: Move SEC/PEI Temporary RAM from 0x70000 to 0x810000

Note: The Temporary RAM memory size is being reduced from
      64KB to 32KB. This still appears to be more than
      adequate for OVMF's early PEI phase. We will be adding
      another 32KB range of RAM just above this range for
      use on S3 resume.

The range is declared as part of MEMFD, so it is easier
to identify the memory range.

We also now assign PCDs to the memory range.

The PCDs are used to set the initial SEC/PEI stack in
SEC's assembly code.

The PCDs are also used in the SEC C code to setup
the Temporary RAM PPI.

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@15147 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Jordan Justen
2014-01-21 19:38:43 +00:00
committed by jljusten
parent b382ede386
commit 7cb6b0e068
10 changed files with 147 additions and 119 deletions

View File

@@ -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
@@ -36,10 +36,11 @@ 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 rsp, BASE_512KB
SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
FixedPcdGet32 (PcdOvmfSecPeiTempRamSize))
mov rsp, SEC_TOP_OF_STACK
nop
;