• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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