1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2009-2011 Erwan Velu - All Rights Reserved 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 8 * Boston MA 02111-1307, USA; either version 2 of the License, or 9 * (at your option) any later version; incorporated herein by reference. 10 * 11 * ----------------------------------------------------------------------- */ 12 13 #ifndef RSDP_H 14 #define RSDP_H 15 #include <inttypes.h> 16 #include <stdbool.h> 17 18 #define RSDP_MIN_ADDRESS 0x0E0000 19 #define RSDP_MAX_ADDRESS 0x0FFFFF 20 21 #define RSDP "RSD PTR" 22 23 enum { RSDP_TABLE_FOUND = 1 }; 24 25 typedef struct { 26 uint8_t *address; 27 uint8_t signature[8 + 1]; 28 uint8_t checksum; 29 uint8_t oem_id[6 + 1]; 30 uint8_t revision; 31 uint8_t *rsdt_address; 32 uint32_t length; 33 uint8_t *xsdt_address; 34 uint8_t extended_checksum; 35 bool valid; 36 } s_rsdp; 37 38 #endif 39