//\r
// 8 extra pages for PF handler.\r
//\r
-#define EXTRA_PAGE_TABLE_PAGES 8\r
+#define EXTRA_PAGE_TABLE_PAGES 8\r
\r
-EFI_GUID mAcpiS3IdtrProfileGuid = {\r
+EFI_GUID mAcpiS3IdtrProfileGuid = {\r
0xdea652b0, 0xd587, 0x4c54, { 0xb5, 0xb4, 0xc6, 0x82, 0xe7, 0xa0, 0xaa, 0x3d }\r
};\r
\r
@return Allocated address for output.\r
\r
**/\r
-VOID*\r
+VOID *\r
AllocateMemoryBelow4G (\r
- IN EFI_MEMORY_TYPE MemoryType,\r
- IN UINTN Size\r
+ IN EFI_MEMORY_TYPE MemoryType,\r
+ IN UINTN Size\r
)\r
{\r
UINTN Pages;\r
EFI_PHYSICAL_ADDRESS Address;\r
EFI_STATUS Status;\r
- VOID* Buffer;\r
+ VOID *Buffer;\r
\r
- Pages = EFI_SIZE_TO_PAGES (Size);\r
+ Pages = EFI_SIZE_TO_PAGES (Size);\r
Address = 0xffffffff;\r
\r
- Status = gBS->AllocatePages (\r
- AllocateMaxAddress,\r
- MemoryType,\r
- Pages,\r
- &Address\r
- );\r
+ Status = gBS->AllocatePages (\r
+ AllocateMaxAddress,\r
+ MemoryType,\r
+ Pages,\r
+ &Address\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
- Buffer = (VOID *) (UINTN) Address;\r
+ Buffer = (VOID *)(UINTN)Address;\r
ZeroMem (Buffer, Size);\r
\r
return Buffer;\r
**/\r
BOOLEAN\r
IsLongModeWakingVectorSupport (\r
- IN EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs\r
+ IN EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs\r
)\r
{\r
if ((Facs == NULL) ||\r
- (Facs->Signature != EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE) ) {\r
+ (Facs->Signature != EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE))\r
+ {\r
//\r
// Something wrong with FACS.\r
//\r
return FALSE;\r
}\r
+\r
if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) &&\r
- ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0)) {\r
+ ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0))\r
+ {\r
//\r
// BIOS supports 64bit waking vector.\r
//\r
return TRUE;\r
}\r
}\r
+\r
return FALSE;\r
}\r
\r
**/\r
EFI_PHYSICAL_ADDRESS\r
S3AllocatePageTablesBuffer (\r
- IN BOOLEAN LongModeWakingVectorSupport\r
+ IN BOOLEAN LongModeWakingVectorSupport\r
)\r
{\r
if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {\r
- UINTN ExtraPageTablePages;\r
- UINT32 RegEax;\r
- UINT32 RegEdx;\r
- UINT8 PhysicalAddressBits;\r
- UINT32 NumberOfPml4EntriesNeeded;\r
- UINT32 NumberOfPdpEntriesNeeded;\r
- EFI_PHYSICAL_ADDRESS S3NvsPageTableAddress;\r
- UINTN TotalPageTableSize;\r
- VOID *Hob;\r
- BOOLEAN Page1GSupport;\r
+ UINTN ExtraPageTablePages;\r
+ UINT32 RegEax;\r
+ UINT32 RegEdx;\r
+ UINT8 PhysicalAddressBits;\r
+ UINT32 NumberOfPml4EntriesNeeded;\r
+ UINT32 NumberOfPdpEntriesNeeded;\r
+ EFI_PHYSICAL_ADDRESS S3NvsPageTableAddress;\r
+ UINTN TotalPageTableSize;\r
+ VOID *Hob;\r
+ BOOLEAN Page1GSupport;\r
\r
Page1GSupport = FALSE;\r
- if (PcdGetBool(PcdUse1GPageTable)) {\r
+ if (PcdGetBool (PcdUse1GPageTable)) {\r
AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);\r
if (RegEax >= 0x80000001) {\r
AsmCpuid (0x80000001, NULL, NULL, NULL, &RegEdx);\r
//\r
Hob = GetFirstHob (EFI_HOB_TYPE_CPU);\r
if (Hob != NULL) {\r
- PhysicalAddressBits = ((EFI_HOB_CPU *) Hob)->SizeOfMemorySpace;\r
+ PhysicalAddressBits = ((EFI_HOB_CPU *)Hob)->SizeOfMemorySpace;\r
} else {\r
AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);\r
if (RegEax >= 0x80000008) {\r
AsmCpuid (0x80000008, &RegEax, NULL, NULL, NULL);\r
- PhysicalAddressBits = (UINT8) RegEax;\r
+ PhysicalAddressBits = (UINT8)RegEax;\r
} else {\r
PhysicalAddressBits = 36;\r
}\r
//\r
if (PhysicalAddressBits <= 39 ) {\r
NumberOfPml4EntriesNeeded = 1;\r
- NumberOfPdpEntriesNeeded = (UINT32)LShiftU64 (1, (PhysicalAddressBits - 30));\r
+ NumberOfPdpEntriesNeeded = (UINT32)LShiftU64 (1, (PhysicalAddressBits - 30));\r
} else {\r
NumberOfPml4EntriesNeeded = (UINT32)LShiftU64 (1, (PhysicalAddressBits - 39));\r
- NumberOfPdpEntriesNeeded = 512;\r
+ NumberOfPdpEntriesNeeded = 512;\r
}\r
\r
//\r
//\r
// By architecture only one PageMapLevel4 exists - so lets allocate storage for it.\r
//\r
- S3NvsPageTableAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)AllocateMemoryBelow4G (EfiReservedMemoryType, EFI_PAGES_TO_SIZE(TotalPageTableSize));\r
+ S3NvsPageTableAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)AllocateMemoryBelow4G (EfiReservedMemoryType, EFI_PAGES_TO_SIZE (TotalPageTableSize));\r
ASSERT (S3NvsPageTableAddress != 0);\r
return S3NvsPageTableAddress;\r
} else {\r
//\r
// If DXE is running 32-bit mode, no need to establish page table.\r
//\r
- return (EFI_PHYSICAL_ADDRESS) 0;\r
+ return (EFI_PHYSICAL_ADDRESS)0;\r
}\r
}\r
\r
goto Done;\r
}\r
\r
- AcpiS3Context = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof(*AcpiS3Context));\r
+ AcpiS3Context = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof (*AcpiS3Context));\r
ASSERT (AcpiS3Context != NULL);\r
AcpiS3ContextBuffer = (EFI_PHYSICAL_ADDRESS)(UINTN)AcpiS3Context;\r
\r
//\r
// Get ACPI Table because we will save its position to variable\r
//\r
- Facs = (EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *) EfiLocateFirstAcpiTable (\r
- EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE\r
- );\r
- AcpiS3Context->AcpiFacsTable = (EFI_PHYSICAL_ADDRESS) (UINTN) Facs;\r
+ Facs = (EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)EfiLocateFirstAcpiTable (\r
+ EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE\r
+ );\r
+ AcpiS3Context->AcpiFacsTable = (EFI_PHYSICAL_ADDRESS)(UINTN)Facs;\r
ASSERT (AcpiS3Context->AcpiFacsTable != 0);\r
\r
- IdtGate = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof(IA32_IDT_GATE_DESCRIPTOR) * 0x100 + sizeof(IA32_DESCRIPTOR));\r
- Idtr = (IA32_DESCRIPTOR *)(IdtGate + 0x100);\r
- Idtr->Base = (UINTN)IdtGate;\r
- Idtr->Limit = (UINT16)(sizeof(IA32_IDT_GATE_DESCRIPTOR) * 0x100 - 1);\r
+ IdtGate = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof (IA32_IDT_GATE_DESCRIPTOR) * 0x100 + sizeof (IA32_DESCRIPTOR));\r
+ Idtr = (IA32_DESCRIPTOR *)(IdtGate + 0x100);\r
+ Idtr->Base = (UINTN)IdtGate;\r
+ Idtr->Limit = (UINT16)(sizeof (IA32_IDT_GATE_DESCRIPTOR) * 0x100 - 1);\r
AcpiS3Context->IdtrProfile = (EFI_PHYSICAL_ADDRESS)(UINTN)Idtr;\r
\r
Status = SaveLockBox (\r
&mAcpiS3IdtrProfileGuid,\r
(VOID *)(UINTN)Idtr,\r
- (UINTN)sizeof(IA32_DESCRIPTOR)\r
+ (UINTN)sizeof (IA32_DESCRIPTOR)\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
AcpiS3Context->S3DebugBufferAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)AllocateMemoryBelow4G (EfiReservedMemoryType, EFI_PAGE_SIZE);\r
SetMem ((VOID *)(UINTN)AcpiS3Context->S3DebugBufferAddress, EFI_PAGE_SIZE, 0xff);\r
\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: AcpiFacsTable is 0x%8x\n", AcpiS3Context->AcpiFacsTable));\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: IdtrProfile is 0x%8x\n", AcpiS3Context->IdtrProfile));\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: S3NvsPageTableAddress is 0x%8x\n", AcpiS3Context->S3NvsPageTableAddress));\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: S3DebugBufferAddress is 0x%8x\n", AcpiS3Context->S3DebugBufferAddress));\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: BootScriptStackBase is 0x%8x\n", AcpiS3Context->BootScriptStackBase));\r
- DEBUG((DEBUG_INFO, "AcpiS3Context: BootScriptStackSize is 0x%8x\n", AcpiS3Context->BootScriptStackSize));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: AcpiFacsTable is 0x%8x\n", AcpiS3Context->AcpiFacsTable));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: IdtrProfile is 0x%8x\n", AcpiS3Context->IdtrProfile));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: S3NvsPageTableAddress is 0x%8x\n", AcpiS3Context->S3NvsPageTableAddress));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: S3DebugBufferAddress is 0x%8x\n", AcpiS3Context->S3DebugBufferAddress));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: BootScriptStackBase is 0x%8x\n", AcpiS3Context->BootScriptStackBase));\r
+ DEBUG ((DEBUG_INFO, "AcpiS3Context: BootScriptStackSize is 0x%8x\n", AcpiS3Context->BootScriptStackSize));\r
\r
Status = SaveLockBox (\r
&gEfiAcpiVariableGuid,\r
&AcpiS3ContextBuffer,\r
- sizeof(AcpiS3ContextBuffer)\r
+ sizeof (AcpiS3ContextBuffer)\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
Status = SaveLockBox (\r
&gEfiAcpiS3ContextGuid,\r
(VOID *)(UINTN)AcpiS3Context,\r
- (UINTN)sizeof(*AcpiS3Context)\r
+ (UINTN)sizeof (*AcpiS3Context)\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r