CloverBootloader/rEFIt_UEFI/Platform/AcpiPatcher.h

79 lines
1.4 KiB
C

/*
* AcpiPatcher.h
*
* Created on: 16 Apr 2020
* Author: jief
*/
#ifndef PLATFORM_ACPIPATCHER_H_
#define PLATFORM_ACPIPATCHER_H_
#include "../Platform/Volume.h"
#include "../Platform/MacOsVersion.h"
#pragma pack(push)
#pragma pack(1)
typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 Entry;
} RSDT_TABLE;
typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header;
UINT64 Entry;
} XSDT_TABLE;
#pragma pack(pop)
extern UINT64 BiosDsdt;
extern UINT32 BiosDsdtLen;
#define acpi_cpu_max 128
extern UINT8 acpi_cpu_count;
extern CHAR8 *acpi_cpu_name[];
extern UINT8 acpi_cpu_processor_id[];
extern CHAR8 *acpi_cpu_score;
extern UINT64 machineSignature;
//ACPI
EFI_STATUS
PatchACPI(IN REFIT_VOLUME *Volume, const MacOsVersion& OSVersion);
EFI_STATUS
PatchACPI_OtherOS(CONST CHAR16* OsSubdir, BOOLEAN DropSSDT);
UINT8
Checksum8 (
void *startPtr,
UINT32 len
);
void FixChecksum(EFI_ACPI_DESCRIPTION_HEADER* Table);
void
SaveOemDsdt (
BOOLEAN FullPatch
);
void
SaveOemTables (void);
EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE
*GetFadt (void);
void
GetAcpiTablesList (void);
#endif /* PLATFORM_ACPIPATCHER_H_ */