]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtFlashMapPei/FlashMap.c
MdeModulePkg PiSmmCore: Set ForwardLink to NULL in RemoveOldEntry()
[mirror_edk2.git] / Nt32Pkg / WinNtFlashMapPei / FlashMap.c
index 1837b30e0b167799f2513e84b3db6fc45a7b7a82..0a1b3256668ee997a48f00c8e86e87d9c8766a75 100644 (file)
@@ -1,7 +1,8 @@
-/*++\r
+/**@file\r
 \r
-Copyright (c) 2006, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
+This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 http://opensource.org/licenses/bsd-license.php                                            \r
@@ -17,7 +18,7 @@ Abstract:
 \r
   PEIM to build GUIDed HOBs for platform specific flash map\r
 \r
---*/\r
+**/\r
 \r
 //\r
 // The package level header files this module uses\r
@@ -70,7 +71,7 @@ Returns:
             &gNtFwhPpiGuid, // GUID\r
             0,              // INSTANCE\r
             &PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR\r
-            &NtFwhPpi       // PPI\r
+            (VOID**)&NtFwhPpi       // PPI\r
             );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
@@ -85,9 +86,15 @@ Returns:
   //\r
   // Relocate the base of FV region \r
   // \r
-  PcdSet32 (PcdFlashNvStorageVariableBase, PcdGet32 (PcdWinNtFlashNvStorageVariableBase) + (UINT32) FdBase);\r
-  PcdSet32 (PcdFlashNvStorageFtwWorkingBase, PcdGet32 (PcdWinNtFlashNvStorageFtwWorkingBase) + (UINT32) FdBase);\r
-  PcdSet32 (PcdFlashNvStorageFtwSpareBase, PcdGet32 (PcdWinNtFlashNvStorageFtwWorkingBase) + (UINT32) FdBase);\r
+  if (FdBase >= BASE_4GB) {\r
+    PcdSet64 (PcdFlashNvStorageVariableBase64, PcdGet32 (PcdWinNtFlashNvStorageVariableBase) + (UINT64) FdBase);\r
+    PcdSet64 (PcdFlashNvStorageFtwWorkingBase64, PcdGet32 (PcdWinNtFlashNvStorageFtwWorkingBase) + (UINT64) FdBase);\r
+    PcdSet64 (PcdFlashNvStorageFtwSpareBase64, PcdGet32 (PcdWinNtFlashNvStorageFtwSpareBase) + (UINT64) FdBase);\r
+  } else {\r
+    PcdSet32 (PcdFlashNvStorageVariableBase, PcdGet32 (PcdWinNtFlashNvStorageVariableBase) + (UINT32) FdBase);\r
+    PcdSet32 (PcdFlashNvStorageFtwWorkingBase, PcdGet32 (PcdWinNtFlashNvStorageFtwWorkingBase) + (UINT32) FdBase);\r
+    PcdSet32 (PcdFlashNvStorageFtwSpareBase, PcdGet32 (PcdWinNtFlashNvStorageFtwSpareBase) + (UINT32) FdBase);\r
+  }\r
 \r
   return EFI_SUCCESS;\r
 }\r