41 lines
1.5 KiB
C++
41 lines
1.5 KiB
C++
/**
|
|
* PROJECT: ExectOS
|
|
* COPYRIGHT: See COPYING.md in the top level directory
|
|
* FILE: xtldr/modules/acpi/includes/acpi.hh
|
|
* DESCRIPTION: XTLDR ACPI module header file
|
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
|
*/
|
|
|
|
#ifndef __XTLDR_ACPI_ACPI_HH
|
|
#define __XTLDR_ACPI_ACPI_HH
|
|
|
|
#include <xtblapi.h>
|
|
|
|
|
|
/* ACPI module for XTLDR */
|
|
class Acpi
|
|
{
|
|
private:
|
|
STATIC XTBL_ACPI_PROTOCOL AcpiProtocol;
|
|
STATIC PXTBL_LOADER_PROTOCOL XtLdrProtocol;
|
|
|
|
public:
|
|
STATIC XTCDECL EFI_STATUS GetAcpiDescriptionPointer(OUT PVOID *AcpiTable);
|
|
STATIC XTCDECL EFI_STATUS GetAcpiTable(IN CONST UINT Signature,
|
|
IN PVOID PreviousTable,
|
|
OUT PVOID *AcpiTable);
|
|
STATIC XTCDECL EFI_STATUS GetApicBase(OUT PVOID *ApicBase);
|
|
STATIC XTCDECL EFI_STATUS GetRsdpTable(OUT PVOID *AcpiTable);
|
|
STATIC XTCDECL EFI_STATUS GetSMBiosTable(OUT PVOID *SmBiosTable);
|
|
STATIC XTCDECL EFI_STATUS GetSMBios3Table(OUT PVOID *SmBiosTable);
|
|
STATIC XTCDECL EFI_STATUS GetXsdpTable(OUT PVOID *AcpiTable);
|
|
STATIC XTCDECL EFI_STATUS InitializeModule(IN EFI_HANDLE ImageHandle,
|
|
IN PEFI_SYSTEM_TABLE SystemTable);
|
|
|
|
private:
|
|
STATIC XTCDECL BOOLEAN ValidateAcpiTable(IN PVOID Buffer,
|
|
IN UINT_PTR Size);
|
|
};
|
|
|
|
#endif /* __XTLDR_ACPI_ACPI_HH */
|