On X64, the reset vector code in
"OvmfPkg/ResetVector/Ia32/PageTables64.asm" identity maps the first 4GB of
RAM for PEI, consuming six frames starting at 512KB.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <[email protected]>
---
 OvmfPkg/PlatformPei/Fv.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/OvmfPkg/PlatformPei/Fv.c b/OvmfPkg/PlatformPei/Fv.c
index e309ddf..e55189d 100644
--- a/OvmfPkg/PlatformPei/Fv.c
+++ b/OvmfPkg/PlatformPei/Fv.c
@@ -56,6 +56,18 @@ PeiFvInitialization (
     EfiACPIMemoryNVS
     );
 
+#ifdef MDE_CPU_X64
+  //
+  // Reserve the six page frames hosting the initial page tables built
+  // by the reset vector code.
+  //
+  BuildMemoryAllocationHob (
+    BASE_512KB,
+    6 * EFI_PAGE_SIZE,
+    EfiACPIMemoryNVS
+    );
+#endif
+
   //
   // Cover the decompressed main firmware with a memory allocation that
   // prevents the OS from using it. At S3 resume we overwrite this area.
-- 
1.8.3.1



------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to