\r
#include "AcpiPlatform.h"\r
\r
-#define XEN_ACPI_PHYSICAL_ADDRESS 0x000EA020\r
-#define XEN_BIOS_PHYSICAL_END 0x000FFFFF\r
+#define XEN_ACPI_PHYSICAL_ADDRESS 0x000EA020\r
+#define XEN_BIOS_PHYSICAL_END 0x000FFFFF\r
\r
EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *XenAcpiRsdpStructurePtr = NULL;\r
\r
EFI_STATUS\r
EFIAPI\r
GetXenAcpiRsdp (\r
- OUT EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER **RsdpPtr\r
+ OUT EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER **RsdpPtr\r
)\r
{\r
- EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *RsdpStructurePtr;\r
- UINT8 *XenAcpiPtr;\r
- UINT8 Sum;\r
- EFI_XEN_INFO *XenInfo;\r
+ EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *RsdpStructurePtr;\r
+ UINT8 *XenAcpiPtr;\r
+ UINT8 Sum;\r
+ EFI_XEN_INFO *XenInfo;\r
\r
//\r
// Detect the RSDP structure\r
XenInfo = XenGetInfoHOB ();\r
ASSERT (XenInfo != NULL);\r
if (XenInfo->RsdpPvh != NULL) {\r
- DEBUG ((DEBUG_INFO, "%a: Use ACPI RSDP table at 0x%p\n",\r
- gEfiCallerBaseName, XenInfo->RsdpPvh));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: Use ACPI RSDP table at 0x%p\n",\r
+ gEfiCallerBaseName,\r
+ XenInfo->RsdpPvh\r
+ ));\r
*RsdpPtr = XenInfo->RsdpPvh;\r
return EFI_SUCCESS;\r
}\r
//\r
// Otherwise, look for the HVM one\r
//\r
- for (XenAcpiPtr = (UINT8*)(UINTN) XEN_ACPI_PHYSICAL_ADDRESS;\r
- XenAcpiPtr < (UINT8*)(UINTN) XEN_BIOS_PHYSICAL_END;\r
- XenAcpiPtr += 0x10) {\r
-\r
+ for (XenAcpiPtr = (UINT8 *)(UINTN)XEN_ACPI_PHYSICAL_ADDRESS;\r
+ XenAcpiPtr < (UINT8 *)(UINTN)XEN_BIOS_PHYSICAL_END;\r
+ XenAcpiPtr += 0x10)\r
+ {\r
RsdpStructurePtr = (EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *)\r
- (UINTN) XenAcpiPtr;\r
+ (UINTN)XenAcpiPtr;\r
\r
- if (!AsciiStrnCmp ((CHAR8 *) &RsdpStructurePtr->Signature, "RSD PTR ", 8)) {\r
+ if (!AsciiStrnCmp ((CHAR8 *)&RsdpStructurePtr->Signature, "RSD PTR ", 8)) {\r
//\r
// RSDP ACPI 1.0 checksum for 1.0/2.0/3.0 table.\r
// This is only the first 20 bytes of the structure\r
return EFI_ABORTED;\r
}\r
}\r
+\r
*RsdpPtr = RsdpStructurePtr;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
InstallXenTables (\r
- IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
+ IN EFI_ACPI_TABLE_PROTOCOL *AcpiProtocol\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN TableHandle;\r
-\r
- EFI_ACPI_DESCRIPTION_HEADER *Rsdt;\r
- EFI_ACPI_DESCRIPTION_HEADER *Xsdt;\r
- VOID *CurrentTableEntry;\r
- UINTN CurrentTablePointer;\r
- EFI_ACPI_DESCRIPTION_HEADER *CurrentTable;\r
- UINTN Index;\r
- UINTN NumberOfTableEntries;\r
- EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt2Table;\r
- EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt1Table;\r
- EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs2Table;\r
- EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs1Table;\r
- EFI_ACPI_DESCRIPTION_HEADER *DsdtTable;\r
-\r
- Fadt2Table = NULL;\r
- Fadt1Table = NULL;\r
- Facs2Table = NULL;\r
- Facs1Table = NULL;\r
- DsdtTable = NULL;\r
- TableHandle = 0;\r
+ EFI_STATUS Status;\r
+ UINTN TableHandle;\r
+\r
+ EFI_ACPI_DESCRIPTION_HEADER *Rsdt;\r
+ EFI_ACPI_DESCRIPTION_HEADER *Xsdt;\r
+ VOID *CurrentTableEntry;\r
+ UINTN CurrentTablePointer;\r
+ EFI_ACPI_DESCRIPTION_HEADER *CurrentTable;\r
+ UINTN Index;\r
+ UINTN NumberOfTableEntries;\r
+ EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt2Table;\r
+ EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt1Table;\r
+ EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs2Table;\r
+ EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs1Table;\r
+ EFI_ACPI_DESCRIPTION_HEADER *DsdtTable;\r
+\r
+ Fadt2Table = NULL;\r
+ Fadt1Table = NULL;\r
+ Facs2Table = NULL;\r
+ Facs1Table = NULL;\r
+ DsdtTable = NULL;\r
+ TableHandle = 0;\r
NumberOfTableEntries = 0;\r
\r
//\r
// Retrieve the addresses of XSDT and\r
// calculate the number of its table entries.\r
//\r
- Xsdt = (EFI_ACPI_DESCRIPTION_HEADER *) (UINTN)\r
- XenAcpiRsdpStructurePtr->XsdtAddress;\r
+ Xsdt = (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)\r
+ XenAcpiRsdpStructurePtr->XsdtAddress;\r
NumberOfTableEntries = (Xsdt->Length -\r
- sizeof (EFI_ACPI_DESCRIPTION_HEADER)) /\r
- sizeof (UINT64);\r
+ sizeof (EFI_ACPI_DESCRIPTION_HEADER)) /\r
+ sizeof (UINT64);\r
\r
//\r
// Install ACPI tables found in XSDT.\r
//\r
// Get the table entry from XSDT\r
//\r
- CurrentTableEntry = (VOID *) ((UINT8 *) Xsdt +\r
- sizeof (EFI_ACPI_DESCRIPTION_HEADER) +\r
- Index * sizeof (UINT64));\r
- CurrentTablePointer = (UINTN) *(UINT64 *)CurrentTableEntry;\r
- CurrentTable = (EFI_ACPI_DESCRIPTION_HEADER *) CurrentTablePointer;\r
+ CurrentTableEntry = (VOID *)((UINT8 *)Xsdt +\r
+ sizeof (EFI_ACPI_DESCRIPTION_HEADER) +\r
+ Index * sizeof (UINT64));\r
+ CurrentTablePointer = (UINTN)*(UINT64 *)CurrentTableEntry;\r
+ CurrentTable = (EFI_ACPI_DESCRIPTION_HEADER *)CurrentTablePointer;\r
\r
//\r
// Install the XSDT tables\r
//\r
- Status = InstallAcpiTable (\r
- AcpiProtocol,\r
- CurrentTable,\r
- CurrentTable->Length,\r
- &TableHandle\r
- );\r
+ Status = AcpiProtocol->InstallAcpiTable (\r
+ AcpiProtocol,\r
+ CurrentTable,\r
+ CurrentTable->Length,\r
+ &TableHandle\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
//\r
// Get the FACS and DSDT table address from the table FADT\r
//\r
- if (!AsciiStrnCmp ((CHAR8 *) &CurrentTable->Signature, "FACP", 4)) {\r
+ if (!AsciiStrnCmp ((CHAR8 *)&CurrentTable->Signature, "FACP", 4)) {\r
Fadt2Table = (EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *)\r
- (UINTN) CurrentTablePointer;\r
+ (UINTN)CurrentTablePointer;\r
Facs2Table = (EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)\r
- (UINTN) Fadt2Table->FirmwareCtrl;\r
- DsdtTable = (EFI_ACPI_DESCRIPTION_HEADER *) (UINTN) Fadt2Table->Dsdt;\r
+ (UINTN)Fadt2Table->FirmwareCtrl;\r
+ DsdtTable = (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Fadt2Table->Dsdt;\r
}\r
}\r
- }\r
- else if (XenAcpiRsdpStructurePtr->RsdtAddress) {\r
+ } else if (XenAcpiRsdpStructurePtr->RsdtAddress) {\r
//\r
// Retrieve the addresses of RSDT and\r
// calculate the number of its table entries.\r
//\r
- Rsdt = (EFI_ACPI_DESCRIPTION_HEADER *) (UINTN)\r
- XenAcpiRsdpStructurePtr->RsdtAddress;\r
+ Rsdt = (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)\r
+ XenAcpiRsdpStructurePtr->RsdtAddress;\r
NumberOfTableEntries = (Rsdt->Length -\r
- sizeof (EFI_ACPI_DESCRIPTION_HEADER)) /\r
- sizeof (UINT32);\r
+ sizeof (EFI_ACPI_DESCRIPTION_HEADER)) /\r
+ sizeof (UINT32);\r
\r
//\r
// Install ACPI tables found in XSDT.\r
//\r
// Get the table entry from RSDT\r
//\r
- CurrentTableEntry = (UINT32 *) ((UINT8 *) Rsdt +\r
- sizeof (EFI_ACPI_DESCRIPTION_HEADER) +\r
- Index * sizeof (UINT32));\r
+ CurrentTableEntry = (UINT32 *)((UINT8 *)Rsdt +\r
+ sizeof (EFI_ACPI_DESCRIPTION_HEADER) +\r
+ Index * sizeof (UINT32));\r
CurrentTablePointer = *(UINT32 *)CurrentTableEntry;\r
- CurrentTable = (EFI_ACPI_DESCRIPTION_HEADER *) CurrentTablePointer;\r
+ CurrentTable = (EFI_ACPI_DESCRIPTION_HEADER *)CurrentTablePointer;\r
\r
//\r
// Install the RSDT tables\r
//\r
- Status = InstallAcpiTable (\r
- AcpiProtocol,\r
- CurrentTable,\r
- CurrentTable->Length,\r
- &TableHandle\r
- );\r
+ Status = AcpiProtocol->InstallAcpiTable (\r
+ AcpiProtocol,\r
+ CurrentTable,\r
+ CurrentTable->Length,\r
+ &TableHandle\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
//\r
// Get the FACS and DSDT table address from the table FADT\r
//\r
- if (!AsciiStrnCmp ((CHAR8 *) &CurrentTable->Signature, "FACP", 4)) {\r
+ if (!AsciiStrnCmp ((CHAR8 *)&CurrentTable->Signature, "FACP", 4)) {\r
Fadt1Table = (EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE *)\r
- (UINTN) CurrentTablePointer;\r
+ (UINTN)CurrentTablePointer;\r
Facs1Table = (EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)\r
- (UINTN) Fadt1Table->FirmwareCtrl;\r
- DsdtTable = (EFI_ACPI_DESCRIPTION_HEADER *) (UINTN) Fadt1Table->Dsdt;\r
+ (UINTN)Fadt1Table->FirmwareCtrl;\r
+ DsdtTable = (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Fadt1Table->Dsdt;\r
}\r
}\r
}\r
//\r
// FACS 2.0\r
//\r
- Status = InstallAcpiTable (\r
- AcpiProtocol,\r
- Facs2Table,\r
- Facs2Table->Length,\r
- &TableHandle\r
- );\r
+ Status = AcpiProtocol->InstallAcpiTable (\r
+ AcpiProtocol,\r
+ Facs2Table,\r
+ Facs2Table->Length,\r
+ &TableHandle\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- }\r
- else if (Fadt1Table) {\r
+ } else if (Fadt1Table) {\r
//\r
// FACS 1.0\r
//\r
- Status = InstallAcpiTable (\r
- AcpiProtocol,\r
- Facs1Table,\r
- Facs1Table->Length,\r
- &TableHandle\r
- );\r
+ Status = AcpiProtocol->InstallAcpiTable (\r
+ AcpiProtocol,\r
+ Facs1Table,\r
+ Facs1Table->Length,\r
+ &TableHandle\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
CpuDeadLoop ();\r
}\r
\r
- Status = InstallAcpiTable (\r
- AcpiProtocol,\r
- DsdtTable,\r
- DsdtTable->Length,\r
- &TableHandle\r
- );\r
+ Status = AcpiProtocol->InstallAcpiTable (\r
+ AcpiProtocol,\r
+ DsdtTable,\r
+ DsdtTable->Length,\r
+ &TableHandle\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
return EFI_SUCCESS;\r
}\r
-\r