tools: add tool to decode AML files and build an ACPI namespace

This commit is contained in:
2023-07-19 19:00:27 +01:00
parent 42c6cfb697
commit f8c1a52259
16 changed files with 2446 additions and 1 deletions

32
tools/amldecode/table.h Normal file
View File

@@ -0,0 +1,32 @@
#ifndef TABLE_H_
#define TABLE_H_
#include <stdint.h>
#include <stddef.h>
enum loader_status {
LOADER_OK = 0,
LOADER_IOERR,
LOADER_BADSUM,
LOADER_NOMEM,
};
struct acpi_table {
char sig[4];
uint32_t length;
uint8_t revision;
uint8_t checksum;
char oem_id[6];
char oem_table_id[8];
uint32_t oem_revision;
uint32_t creator_id;
uint32_t creator_revision;
};
extern enum loader_status acpi_table_load(const char *path, struct acpi_table **out);
extern void acpi_table_destroy(struct acpi_table *table);
extern void acpi_table_get_payload(struct acpi_table *table, void **p, size_t *len);
extern const char *loader_status_string(enum loader_status status);
#endif