1 /* 2 * Copyright (C) 2006 Michael Brown <mbrown@fensystems.co.uk>. 3 * This file derived almost in its entirety from gPXE. 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of the 8 * License, or any later version. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 /** @file 21 * 22 * ACPI data structures 23 * 24 */ 25 26 #include <stdint.h> 27 28 /** 29 * An ACPI description header 30 * 31 * This is the structure common to the start of all ACPI system 32 * description tables. 33 */ 34 MEMDISK_PACKED_PREFIX 35 struct acpi_description_header { 36 /** ACPI signature (4 ASCII characters) */ 37 char signature[4]; 38 /** Length of table, in bytes, including header */ 39 uint32_t length; 40 /** ACPI Specification minor version number */ 41 uint8_t revision; 42 /** To make sum of entire table == 0 */ 43 uint8_t checksum; 44 /** OEM identification */ 45 char oem_id[6]; 46 /** OEM table identification */ 47 char oem_table_id[8]; 48 /** OEM revision number */ 49 uint32_t oem_revision; 50 /** ASL compiler vendor ID */ 51 char asl_compiler_id[4]; 52 /** ASL compiler revision number */ 53 uint32_t asl_compiler_revision; 54 } MEMDISK_PACKED_POSTFIX; 55 56