]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtFlashMapPei/FlashMap.c
MdeModulePkg/PrintLib: Add safe print functions [A|U]ValueToStringS
[mirror_edk2.git] / Nt32Pkg / WinNtFlashMapPei / FlashMap.c
index ed395bb4d0739621d14f523e5c5f37f79280c4e6..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 (PcdWinNtFlashNvStorageFtwSpareBase) + (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