Add UEFI 2.5 properties table support in DXE core.

Add PropertiesTableAttributesDxe driver to set ACPINvs/Reserved memory type to be XP, as default policy.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: "Yao, Jiewen" <Jiewen.yao@intel.com>
Reviewed-by: "Zeng, Star" <Star.Zeng@intel.com>
Reviewed-by: "Gao, Liming" <Liming.Gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17564 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Yao, Jiewen
2015-06-05 12:08:12 +00:00
committed by jyao1
parent dc9d92c274
commit 03d486b2a0
11 changed files with 1742 additions and 0 deletions

View File

@@ -2858,4 +2858,33 @@ CoreUpdateMemoryAttributes (
IN UINT64 NewAttributes
);
/**
Initialize PropertiesTable support.
**/
VOID
EFIAPI
CoreInitializePropertiesTable (
VOID
);
/**
Insert image record.
@param RuntimeImage Runtime image information
**/
VOID
InsertImageRecord (
IN EFI_RUNTIME_IMAGE_ENTRY *RuntimeImage
);
/**
Remove Image record.
@param RuntimeImage Runtime image information
**/
VOID
RemoveImageRecord (
IN EFI_RUNTIME_IMAGE_ENTRY *RuntimeImage
);
#endif

View File

@@ -40,6 +40,7 @@
Misc/Stall.c
Misc/SetWatchdogTimer.c
Misc/InstallConfigurationTable.c
Misc/PropertiesTable.c
Library/Library.c
Hand/DriverSupport.c
Hand/Notify.c
@@ -123,6 +124,8 @@
gEfiVectorHandoffTableGuid ## SOMETIMES_PRODUCES ## SystemTable
gEdkiiMemoryProfileGuid ## SOMETIMES_PRODUCES ## GUID # Install protocol
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
gEfiPropertiesTableGuid ## SOMETIMES_PRODUCES ## SystemTable
gEfiEndOfDxeEventGroupGuid ## SOMETIMES_CONSUMES ## Event
[Ppis]
gEfiVectorHandoffInfoPpiGuid ## UNDEFINED # HOB
@@ -182,6 +185,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PropertiesTableEnable ## CONSUMES
# [Hob]
# RESOURCE_DESCRIPTOR ## CONSUMES

View File

@@ -387,6 +387,8 @@ DxeMain (
MemoryProfileInstallProtocol ();
CoreInitializePropertiesTable ();
//
// Get persisted vector hand-off info from GUIDeed HOB again due to HobStart may be updated,
// and install configuration table

View File

@@ -710,6 +710,7 @@ CoreLoadPeImage (
Image->RuntimeData->RelocationData = Image->ImageContext.FixupData;
Image->RuntimeData->Handle = Image->Handle;
InsertTailList (&gRuntime->ImageHead, &Image->RuntimeData->Link);
InsertImageRecord (Image->RuntimeData);
}
}
@@ -952,6 +953,7 @@ CoreUnloadAndCloseImage (
// Remove the Image from the Runtime Image list as we are about to Free it!
//
RemoveEntryList (&Image->RuntimeData->Link);
RemoveImageRecord (Image->RuntimeData);
}
CoreFreePool (Image->RuntimeData);
}

File diff suppressed because it is too large Load Diff