#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/MtrrLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
\r
#include <Protocol/MpService.h>\r
#include <Guid/EventGroup.h>\r
return Buffer;\r
}\r
\r
+/**\r
+ Allocate memory and clean it with zero.\r
+\r
+ @param[in] Size Size of memory to allocate.\r
+\r
+ @return Allocated address for output.\r
+\r
+**/\r
+VOID *\r
+AllocateZeroPages (\r
+ IN UINTN Size\r
+ )\r
+{\r
+ VOID *Buffer;\r
+\r
+ Buffer = AllocatePages (EFI_SIZE_TO_PAGES (Size));\r
+ if (Buffer != NULL) {\r
+ ZeroMem (Buffer, Size);\r
+ }\r
+\r
+ return Buffer;\r
+}\r
/**\r
Callback function executed when the EndOfDxe event group is signaled.\r
\r
//\r
OldAcpiCpuData = (ACPI_CPU_DATA *) (UINTN) PcdGet64 (PcdCpuS3DataAddress);\r
\r
- //\r
- // Allocate ACPI NVS memory below 4G memory for use on ACPI S3 resume.\r
- //\r
- AcpiCpuDataEx = AllocateAcpiNvsMemoryBelow4G (sizeof (ACPI_CPU_DATA_EX));\r
+ AcpiCpuDataEx = AllocateZeroPages (sizeof (ACPI_CPU_DATA_EX));\r
ASSERT (AcpiCpuDataEx != NULL);\r
AcpiCpuData = &AcpiCpuDataEx->AcpiCpuData;\r
\r
AsmReadIdtr (&AcpiCpuDataEx->IdtrProfile);\r
\r
//\r
- // Allocate GDT and IDT in ACPI NVS and copy current GDT and IDT contents\r
+ // Allocate GDT and IDT and copy current GDT and IDT contents\r
//\r
GdtSize = AcpiCpuDataEx->GdtrProfile.Limit + 1;\r
IdtSize = AcpiCpuDataEx->IdtrProfile.Limit + 1;\r
- Gdt = AllocateAcpiNvsMemoryBelow4G (GdtSize + IdtSize);\r
+ Gdt = AllocateZeroPages (GdtSize + IdtSize);\r
ASSERT (Gdt != NULL);\r
Idt = (VOID *)((UINTN)Gdt + GdtSize);\r
CopyMem (Gdt, (VOID *)AcpiCpuDataEx->GdtrProfile.Base, GdtSize);\r
// Allocate buffer for empty RegisterTable and PreSmmInitRegisterTable for all CPUs\r
//\r
TableSize = 2 * NumberOfCpus * sizeof (CPU_REGISTER_TABLE);\r
- RegisterTable = (CPU_REGISTER_TABLE *)AllocateAcpiNvsMemoryBelow4G (TableSize);\r
+ RegisterTable = (CPU_REGISTER_TABLE *)AllocateZeroPages (TableSize);\r
ASSERT (RegisterTable != NULL);\r
\r
for (Index = 0; Index < NumberOfCpus; Index++) {\r