mirror of https://github.com/acidanthera/audk.git
Allocate ReservedMemory instead of ACPIMemoryNVS for its shadow memory space which is not required to be restored by OS.
Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13935 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
60bee0c9b5
commit
bad7344668
|
@ -827,7 +827,7 @@ InitializeScriptSaveOnS3SaveState (
|
||||||
Status = gBS->LocateProtocol (&gEfiCallerIdGuid, NULL, &DevicePath);
|
Status = gBS->LocateProtocol (&gEfiCallerIdGuid, NULL, &DevicePath);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
//
|
//
|
||||||
// This is the first-time loaded by DXE core. reload itself to NVS mem
|
// This is the first-time loaded by DXE core. reload itself to RESERVED mem
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// A workaround: Here we install a dummy handle
|
// A workaround: Here we install a dummy handle
|
||||||
|
@ -861,7 +861,7 @@ InitializeScriptSaveOnS3SaveState (
|
||||||
PageNumber = EFI_SIZE_TO_PAGES (BufferSize + ImageContext.SectionAlignment);
|
PageNumber = EFI_SIZE_TO_PAGES (BufferSize + ImageContext.SectionAlignment);
|
||||||
Status = gBS->AllocatePages (
|
Status = gBS->AllocatePages (
|
||||||
AllocateMaxAddress,
|
AllocateMaxAddress,
|
||||||
EfiACPIMemoryNVS,
|
EfiReservedMemoryType,
|
||||||
PageNumber,
|
PageNumber,
|
||||||
&MemoryAddress
|
&MemoryAddress
|
||||||
);
|
);
|
||||||
|
@ -915,7 +915,7 @@ InitializeScriptSaveOnS3SaveState (
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// the entry point is invoked after reloading. following code only run in ACPI NVS
|
// the entry point is invoked after reloading. following code only run in RESERVED mem
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
/** @file
|
/** @file
|
||||||
Boot Script Helper SMM driver.
|
Boot Script Helper SMM driver.
|
||||||
|
|
||||||
This driver is responsible to restoer BootScriptThunk from SMRAM to AcpiNvs for security considertion.
|
This driver is responsible to store BootScriptThunk from ReservedMemory to SMRAM for security consideration.
|
||||||
|
|
||||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions
|
are licensed and made available under the terms and conditions
|
||||||
|
|
|
@ -232,7 +232,7 @@ BootScriptExecutorEntryPoint (
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
|
||||||
//
|
//
|
||||||
// This is the first-time loaded by DXE core. reload itself to NVS mem
|
// This is the first-time loaded by DXE core. reload itself to RESERVED mem
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// A workaround: Here we install a dummy handle
|
// A workaround: Here we install a dummy handle
|
||||||
|
@ -265,7 +265,7 @@ BootScriptExecutorEntryPoint (
|
||||||
FfsBuffer = 0xFFFFFFFF;
|
FfsBuffer = 0xFFFFFFFF;
|
||||||
Status = gBS->AllocatePages (
|
Status = gBS->AllocatePages (
|
||||||
AllocateMaxAddress,
|
AllocateMaxAddress,
|
||||||
EfiACPIMemoryNVS,
|
EfiReservedMemoryType,
|
||||||
Pages,
|
Pages,
|
||||||
&FfsBuffer
|
&FfsBuffer
|
||||||
);
|
);
|
||||||
|
@ -316,7 +316,7 @@ BootScriptExecutorEntryPoint (
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// the entry point is invoked after reloading. following code only run in ACPI NVS
|
// the entry point is invoked after reloading. following code only run in RESERVED mem
|
||||||
//
|
//
|
||||||
BufferSize = sizeof (BOOT_SCRIPT_EXECUTOR_VARIABLE);
|
BufferSize = sizeof (BOOT_SCRIPT_EXECUTOR_VARIABLE);
|
||||||
|
|
||||||
|
@ -324,7 +324,7 @@ BootScriptExecutorEntryPoint (
|
||||||
Pages = EFI_SIZE_TO_PAGES(BufferSize);
|
Pages = EFI_SIZE_TO_PAGES(BufferSize);
|
||||||
Status = gBS->AllocatePages (
|
Status = gBS->AllocatePages (
|
||||||
AllocateMaxAddress,
|
AllocateMaxAddress,
|
||||||
EfiACPIMemoryNVS,
|
EfiReservedMemoryType,
|
||||||
Pages,
|
Pages,
|
||||||
&BootScriptExecutorBuffer
|
&BootScriptExecutorBuffer
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue