diff --git a/sdk/xtdk/bltypes.h b/sdk/xtdk/bltypes.h index ede5615..ee429c6 100644 --- a/sdk/xtdk/bltypes.h +++ b/sdk/xtdk/bltypes.h @@ -101,7 +101,10 @@ typedef VOID (XTAPI *PBL_ZERO_MEMORY)(OUT PVOID Destination, IN SIZE_T Length); /* Module protocols routine pointers */ typedef EFI_STATUS (*PBL_ACPI_GET_ACPI_DESCRIPTION_POINTER)(OUT PVOID *AcpiTable); +typedef EFI_STATUS (*PBL_ACPI_GET_APIC_BASE)(OUT PVOID *ApicBase); typedef EFI_STATUS (*PBL_ACPI_GET_RSDP_TABLE)(OUT PVOID *AcpiTable); +typedef EFI_STATUS (*PBL_ACPI_GET_SMBIOS_TABLE)(OUT PVOID *SmBiosTable); +typedef EFI_STATUS (*PBL_ACPI_GET_SMBIOS3_TABLE)(OUT PVOID *SmBiosTable); typedef EFI_STATUS (*PBL_ACPI_GET_XSDP_TABLE)(OUT PVOID *AcpiTable); typedef EFI_STATUS (*PBL_BOOTPROTO_BOOT_SYSTEM)(IN PXTBL_BOOT_PARAMETERS Parameters); typedef EFI_STATUS (*PBL_EXECIMAGE_GET_ENTRY_POINT)(IN PVOID ImagePointer, OUT PVOID *EntryPoint); @@ -258,7 +261,10 @@ typedef struct _XTBL_FRAMEBUFFER_INFORMATION typedef struct _XTBL_ACPI_PROTOCOL { PBL_ACPI_GET_ACPI_DESCRIPTION_POINTER GetAcpiDescriptionPointer; + PBL_ACPI_GET_APIC_BASE GetApicBase; PBL_ACPI_GET_RSDP_TABLE GetRsdpTable; + PBL_ACPI_GET_SMBIOS_TABLE GetSMBiosTable; + PBL_ACPI_GET_SMBIOS3_TABLE GetSMBios3Table; PBL_ACPI_GET_XSDP_TABLE GetXsdpTable; } XTBL_ACPI_PROTOCOL, *PXTBL_ACPI_PROTOCOL; diff --git a/xtldr/modules/acpi/acpi.c b/xtldr/modules/acpi/acpi.c index e1f922b..ab27870 100644 --- a/xtldr/modules/acpi/acpi.c +++ b/xtldr/modules/acpi/acpi.c @@ -281,7 +281,10 @@ XtLdrModuleMain(IN EFI_HANDLE ImageHandle, /* Set routines available via ACPI protocol */ AcpAcpiProtocol.GetAcpiDescriptionPointer = AcGetAcpiDescriptionPointer; + AcpAcpiProtocol.GetApicBase = AcGetApicBase; AcpAcpiProtocol.GetRsdpTable = AcGetRsdpTable; + AcpAcpiProtocol.GetSMBiosTable = AcGetSMBiosTable; + AcpAcpiProtocol.GetSMBios3Table = AcGetSMBios3Table; AcpAcpiProtocol.GetXsdpTable = AcGetXsdpTable; /* Install ACPI protocol */