- for (Index = 0;; Index++) {\r
- Status = AcpiSupport->GetAcpiTable (\r
- AcpiSupport,\r
- Index,\r
- (VOID **)&Table,\r
- &Version,\r
- &TableHandle\r
- );\r
- if (EFI_ERROR (Status)) {\r
+ for (Index = 0, Rsdp = NULL; Index < gST->NumberOfTableEntries; Index++) {\r
+ if (CompareGuid (&(gST->ConfigurationTable[Index].VendorGuid), &gEfiAcpi20TableGuid) ||\r
+ CompareGuid (&(gST->ConfigurationTable[Index].VendorGuid), &gEfiAcpi10TableGuid) ||\r
+ CompareGuid (&(gST->ConfigurationTable[Index].VendorGuid), &gEfiAcpiTableGuid)\r
+ ) {\r
+ //\r
+ // A match was found.\r
+ //\r
+ Rsdp = (EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER *) gST->ConfigurationTable[Index].VendorTable;\r