IntelFrameworkModulePkg: Add UEFI2.5 PersistentMemory support in LegacyBios

LegacyBiosDxe converts EfiPersistentMemory to E820 EfiAddressRangePersistentMemory.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17244 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h
index cc893a4..fcc0190 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h
@@ -1,6 +1,6 @@
 /** @file

 

-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>

 

 This program and the accompanying materials

 are licensed and made available under the terms and conditions

@@ -481,7 +481,8 @@
   EfiAcpiAddressRangeMemory   = 1,

   EfiAcpiAddressRangeReserved = 2,

   EfiAcpiAddressRangeACPI     = 3,

-  EfiAcpiAddressRangeNVS      = 4

+  EfiAcpiAddressRangeNVS      = 4,

+  EfiAddressRangePersistentMemory = 7

 } EFI_ACPI_MEMORY_TYPE;

 

 typedef struct {

diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
index 5848f9f..52bcae2 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
@@ -1623,6 +1623,9 @@
   case EfiRuntimeServicesData:

     return EfiAcpiAddressRangeMemory;

 

+  case EfiPersistentMemory:

+    return EfiAddressRangePersistentMemory;

+

   case EfiACPIReclaimMemory:

     return EfiAcpiAddressRangeACPI;