53 logd(
"acpi",
"signature: \"%s\", length: %d, revision: %d, checksum: %s, oem: \"%s\"/\"%s\" (%d), creator: \"%s\" (%d)",
55 checksum_valid ?
"ok" :
"not ok",
57 creator, creator_revision
61 loge(
"acpi",
"checksum for table %s invalid, aborting",
signature);
88 logd(
"acpi",
"signature: \"%s\", oem: \"%s\", length: %d, revision: %d, checksum: %s/%s, rsdt: %x, xsdt: %x",
90 checksum_valid ?
"ok" :
"not ok",
91 xchecksum_valid ?
"ok" :
"not ok",
96 loge(
"acpi",
"RSDP table checksum invalid, aborting");
100 if(rsdp->
revision >= 2 && !xchecksum_valid) {
101 loge(
"acpi",
"RSDP table revision 2 but extended checksum invalid, aborting");
108 loge(
"acpi",
"XSDT table checksum invalid, aborting");
113 logd(
"acpi",
"%d entries in XSDT", num_entries);
115 for(
size_t i = 0; i < num_entries; ++i) {
121 loge(
"acpi",
"RSDT table checksum invalid, aborting");
126 logd(
"acpi",
"%d entries in RSDT", num_entries);
128 for(
size_t i = 0; i < num_entries; ++i) {
137 for(
size_t i = 0; i < efiST->NumberOfTableEntries; ++i) {
138 EFI_CONFIGURATION_TABLE* ct = &efiST->ConfigurationTable[i];
141 logi(
"acpi",
"EFI configuration table %d is an ACPI table");
149 for(
size_t i = 0; i < len; ++i) {
150 ret += ((
char*)data)[i];
static void acpi_process_table(struct acpi_table_header *table)
static void init_acpi_rsdp(void *rsdp_ptr)
static EFI_GUID efi_acpi_table_guid
struct acpi_table_header header
void init_acpi_efi(EFI_SYSTEM_TABLE *efiST)
uint8_t extended_checksum
uint8_t acpi_checksum(void *data, size_t len)
struct acpi_table_header header
uint32_t asl_compiler_revision
void init_hpet(struct acpi_table_header *header)
#define ALLOCATOR_REGION_DIRECT_MAPPING
void * memcpy(void *dest, void const *source, size_t size)
int memcmp(const void *s1, const void *s2, size_t size)
#define logd(component, fmt,...)
#define logi(component, fmt,...)
#define loge(component, fmt,...)