00001 #ifndef _GPXE_ACPI_H 00002 #define _GPXE_ACPI_H 00003 00004 /** @file 00005 * 00006 * ACPI data structures 00007 * 00008 */ 00009 00010 FILE_LICENCE ( GPL2_OR_LATER ); 00011 00012 #include <stdint.h> 00013 00014 /** 00015 * An ACPI description header 00016 * 00017 * This is the structure common to the start of all ACPI system 00018 * description tables. 00019 */ 00020 struct acpi_description_header { 00021 /** ACPI signature (4 ASCII characters) */ 00022 char signature[4]; 00023 /** Length of table, in bytes, including header */ 00024 uint32_t length; 00025 /** ACPI Specification minor version number */ 00026 uint8_t revision; 00027 /** To make sum of entire table == 0 */ 00028 uint8_t checksum; 00029 /** OEM identification */ 00030 char oem_id[6]; 00031 /** OEM table identification */ 00032 char oem_table_id[8]; 00033 /** OEM revision number */ 00034 uint32_t oem_revision; 00035 /** ASL compiler vendor ID */ 00036 char asl_compiler_id[4]; 00037 /** ASL compiler revision number */ 00038 uint32_t asl_compiler_revision; 00039 } __attribute__ (( packed )); 00040 00041 extern void acpi_fix_checksum ( struct acpi_description_header *acpi ); 00042 00043 #endif /* _GPXE_ACPI_H */
1.5.7.1