diff options
author | Erwan Velu <erwan.velu@free.fr> | 2009-12-03 21:53:54 +0100 |
---|---|---|
committer | Erwan Velu <erwan.velu@free.fr> | 2009-12-04 10:19:02 +0100 |
commit | 005e71b7ec54bae2aa9d3a03fbae4f544d1e46ef (patch) | |
tree | f34664ca7f50d5fa0f937a7729f2df4f343721d3 /com32/gplinclude | |
parent | e7135fcc3f39bd43dfc1e20e61dcd9241cad03a2 (diff) | |
download | syslinux-005e71b7ec54bae2aa9d3a03fbae4f544d1e46ef.tar.gz |
acpi: Adding FACS, fixing DSDT detection
Impact: Adding FACS, fixing DSDT detection
Adding FACS, fixing DSDT detection via FADT
Diffstat (limited to 'com32/gplinclude')
-rw-r--r-- | com32/gplinclude/acpi/acpi.h | 3 | ||||
-rw-r--r-- | com32/gplinclude/acpi/dsdt.h | 1 | ||||
-rw-r--r-- | com32/gplinclude/acpi/facs.h | 41 |
3 files changed, 44 insertions, 1 deletions
diff --git a/com32/gplinclude/acpi/acpi.h b/com32/gplinclude/acpi/acpi.h index 0ce43f54..664306b8 100644 --- a/com32/gplinclude/acpi/acpi.h +++ b/com32/gplinclude/acpi/acpi.h @@ -24,13 +24,13 @@ #include <acpi/ssdt.h> #include <acpi/sbst.h> #include <acpi/ecdt.h> +#include <acpi/facs.h> enum { ACPI_FOUND, ENO_ACPI, MADT_FOUND, ENO_MADT }; #define MAX_SSDT 128 /* Some other description HEADERS : ACPI doc: 5.2.6*/ -#define FACS "FACS" #define OEMX "OEMx" #define SRAR "SRAT" #define BERT "BERT" @@ -69,6 +69,7 @@ typedef struct { uint8_t ssdt_count; s_sbst sbst; s_ecdt ecdt; + s_facs facs; } s_acpi; int parse_acpi(s_acpi * acpi); diff --git a/com32/gplinclude/acpi/dsdt.h b/com32/gplinclude/acpi/dsdt.h index 219cb1ee..fcb6280d 100644 --- a/com32/gplinclude/acpi/dsdt.h +++ b/com32/gplinclude/acpi/dsdt.h @@ -24,4 +24,5 @@ typedef struct { bool valid; } s_dsdt; +void parse_dsdt(s_dsdt *dsdt); #endif diff --git a/com32/gplinclude/acpi/facs.h b/com32/gplinclude/acpi/facs.h new file mode 100644 index 00000000..4435eab4 --- /dev/null +++ b/com32/gplinclude/acpi/facs.h @@ -0,0 +1,41 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 2009 Erwan Velu - All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, Inc., 53 Temple Place Ste 330, + * Boston MA 02111-1307, USA; either version 2 of the License, or + * (at your option) any later version; incorporated herein by reference. + * + * ----------------------------------------------------------------------- */ + +#ifndef FACS_H +#define FACS_H +#include <inttypes.h> +#include <stdbool.h> + +#define FACS "FACS" + +/* Features Flags for "flags" */ +#define S4BIOS_F 1 + +/* Features flags for global_lock */ +#define PENDING 1 +#define OWNED 1<<1 + +typedef struct { + uint64_t address; + uint8_t signature[4+1]; + uint8_t length; + uint32_t hardware_signature; + uint32_t firmware_waking_vector; + uint32_t global_lock; + uint32_t flags; + uint64_t x_firmware_waking_vector; + uint8_t version; + bool valid; +} s_facs; + +void parse_facs(s_facs *facs); +#endif |