Some changes required to get yabel working on v2 (and they generally make
[coreboot.git] / src / arch / i386 / include / arch / acpi.h
index a69d8ca00f54eab9b8d169c255ce56b8d571e4b2..d31517e518d6c0d1dc828db18c65951b141452c6 100644 (file)
@@ -18,7 +18,6 @@
 #if HAVE_ACPI_TABLES==1
 
 #include <stdint.h>
-typedef unsigned long long u64;
 
 #define RSDP_SIG              "RSD PTR "  /* RSDT Pointer signature */
 #define RSDP_NAME             "RSDP"
@@ -29,6 +28,7 @@ typedef unsigned long long u64;
 #define MCFG_NAME             "MCFG"
 #define SRAT_NAME             "SRAT"
 #define SLIT_NAME            "SLIT"
+#define SSDT_NAME            "SSDT"
 
 #define RSDT_TABLE            "RSDT    "
 #define HPET_TABLE            "AMD64   "
@@ -37,8 +37,8 @@ typedef unsigned long long u64;
 #define SRAT_TABLE           "SRAT    "
 #define SLIT_TABLE           "SLIT    "
 
-#define OEM_ID                "LXBIOS"
-#define ASLC                  "NONE"
+#define OEM_ID                "CORE  "
+#define ASLC                  "CORE"
 
 /* ACPI 2.0 table RSDP */
 
@@ -219,7 +219,7 @@ typedef struct acpi_fadt {
        struct acpi_table_header header;
        u32 firmware_ctrl;
        u32 dsdt;
-       u8 res1;
+       u8 model;
        u8 preferred_pm_profile;
        u16 sci_int;
        u32 smi_cmd;
@@ -285,7 +285,7 @@ typedef struct acpi_facs {
        u32 x_firmware_waking_vector_l;
        u32 x_firmware_waking_vector_h;
        u8 version;
-       u8 resv[33];
+       u8 resv[31];
 } __attribute__ ((packed)) acpi_facs_t;
 
 /* These are implemented by the target port */
@@ -293,6 +293,8 @@ unsigned long write_acpi_tables(unsigned long addr);
 unsigned long acpi_fill_madt(unsigned long current);
 unsigned long acpi_fill_mcfg(unsigned long current);
 unsigned long acpi_fill_srat(unsigned long current); 
+unsigned long acpi_fill_ssdt_generator(unsigned long current, char *oem_table_id);
+void acpi_create_ssdt_generator(acpi_header_t *ssdt, char *oem_table_id);
 void acpi_create_fadt(acpi_fadt_t *fadt,acpi_facs_t *facs,void *dsdt);
 
 /* These can be used by the target port */
@@ -317,6 +319,8 @@ int acpi_create_mcfg_mmconfig(acpi_mcfg_mmconfig_t *mmconfig, u32 base, u16 seg_
 unsigned long acpi_create_srat_lapics(unsigned long current);
 void acpi_create_srat(acpi_srat_t *srat);
 
+void acpi_create_slit(acpi_slit_t *slit);
+
 void acpi_create_hpet(acpi_hpet_t *hpet);
 
 void acpi_create_mcfg(acpi_mcfg_t *mcfg);