1 #ifndef _GPXE_ACPI_H 2 #define _GPXE_ACPI_H 3 4 /** @file 5 * 6 * ACPI data structures 7 * 8 */ 9 10 FILE_LICENCE ( GPL2_OR_LATER ); 11 12 #include <stdint.h> 13 14 /** 15 * An ACPI description header 16 * 17 * This is the structure common to the start of all ACPI system 18 * description tables. 19 */ 20 struct acpi_description_header { 21 /** ACPI signature (4 ASCII characters) */ 22 char signature[4]; 23 /** Length of table, in bytes, including header */ 24 uint32_t length; 25 /** ACPI Specification minor version number */ 26 uint8_t revision; 27 /** To make sum of entire table == 0 */ 28 uint8_t checksum; 29 /** OEM identification */ 30 char oem_id[6]; 31 /** OEM table identification */ 32 char oem_table_id[8]; 33 /** OEM revision number */ 34 uint32_t oem_revision; 35 /** ASL compiler vendor ID */ 36 char asl_compiler_id[4]; 37 /** ASL compiler revision number */ 38 uint32_t asl_compiler_revision; 39 } __attribute__ (( packed )); 40 41 extern void acpi_fix_checksum ( struct acpi_description_header *acpi ); 42 43 #endif /* _GPXE_ACPI_H */ 44