1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2009 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 FACS_H 14 #define FACS_H 15 #include <inttypes.h> 16 #include <stdbool.h> 17 18 #define FACS "FACS" 19 20 /* Features Flags for "flags" */ 21 #define S4BIOS_F 1 22 23 /* Features flags for global_lock */ 24 #define PENDING 1 25 #define OWNED 1<<1 26 27 typedef struct { 28 uint64_t *address; 29 uint8_t signature[4+1]; 30 uint8_t length; 31 uint32_t hardware_signature; 32 uint32_t firmware_waking_vector; 33 uint32_t global_lock; 34 uint32_t flags; 35 uint64_t x_firmware_waking_vector; 36 uint8_t version; 37 bool valid; 38 } s_facs; 39 40 void parse_facs(s_facs *facs); 41 #endif 42