These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / acpi / actbl3.h
index 440ca81..1df8916 100644 (file)
@@ -51,7 +51,8 @@
  * These tables are not consumed directly by the ACPICA subsystem, but are
  * included here to support device drivers and the AML disassembler.
  *
- * The tables in this file are fully defined within the ACPI specification.
+ * In general, the tables in this file are fully defined within the ACPI
+ * specification.
  *
  ******************************************************************************/
 
@@ -68,7 +69,9 @@
 #define ACPI_SIG_PCCT           "PCCT" /* Platform Communications Channel Table */
 #define ACPI_SIG_PMTT           "PMTT" /* Platform Memory Topology Table */
 #define ACPI_SIG_RASF           "RASF" /* RAS Feature table */
-#define ACPI_SIG_TPM2           "TPM2" /* Trusted Platform Module 2.0 H/W interface table */
+#define ACPI_SIG_STAO           "STAO" /* Status Override table */
+#define ACPI_SIG_WPBT           "WPBT" /* Windows Platform Binary Table */
+#define ACPI_SIG_XENV           "XENV" /* Xen Environment table */
 
 #define ACPI_SIG_S3PT           "S3PT" /* S3 Performance (sub)Table */
 #define ACPI_SIG_PCCS           "PCC"  /* PCC Shared Memory Region */
@@ -77,7 +80,6 @@
 
 #define ACPI_SIG_MATR           "MATR" /* Memory Address Translation Table */
 #define ACPI_SIG_MSDM           "MSDM" /* Microsoft Data Management Table */
-#define ACPI_SIG_WPBT           "WPBT" /* Windows Platform Binary Table */
 
 /*
  * All tables must be byte-packed to match the ACPI specification, since
@@ -117,6 +119,8 @@ struct acpi_table_bgrt {
 /*******************************************************************************
  *
  * DRTM - Dynamic Root of Trust for Measurement table
+ * Conforms to "TCG D-RTM Architecture" June 17 2013, Version 1.0.0
+ * Table version 1
  *
  ******************************************************************************/
 
@@ -133,22 +137,40 @@ struct acpi_table_drtm {
        u32 flags;
 };
 
-/* 1) Validated Tables List */
+/* Flag Definitions for above */
+
+#define ACPI_DRTM_ACCESS_ALLOWED            (1)
+#define ACPI_DRTM_ENABLE_GAP_CODE           (1<<1)
+#define ACPI_DRTM_INCOMPLETE_MEASUREMENTS   (1<<2)
+#define ACPI_DRTM_AUTHORITY_ORDER           (1<<3)
+
+/* 1) Validated Tables List (64-bit addresses) */
 
-struct acpi_drtm_vtl_list {
-       u32 validated_table_list_count;
+struct acpi_drtm_vtable_list {
+       u32 validated_table_count;
+       u64 validated_tables[1];
 };
 
-/* 2) Resources List */
+/* 2) Resources List (of Resource Descriptors) */
+
+/* Resource Descriptor */
+
+struct acpi_drtm_resource {
+       u8 size[7];
+       u8 type;
+       u64 address;
+};
 
 struct acpi_drtm_resource_list {
-       u32 resource_list_count;
+       u32 resource_count;
+       struct acpi_drtm_resource resources[1];
 };
 
 /* 3) Platform-specific Identifiers List */
 
-struct acpi_drtm_id_list {
-       u32 id_list_count;
+struct acpi_drtm_dps_id {
+       u32 dps_id_length;
+       u8 dps_id[16];
 };
 
 /*******************************************************************************
@@ -685,32 +707,52 @@ enum acpi_rasf_status {
 
 /*******************************************************************************
  *
- * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
- *        Version 3
+ * STAO - Status Override Table (_STA override) - ACPI 6.0
+ *        Version 1
  *
- * Conforms to "TPM 2.0 Hardware Interface Table (TPM2)" 29 November 2011
+ * Conforms to "ACPI Specification for Status Override Table"
+ * 6 January 2015
  *
  ******************************************************************************/
 
-struct acpi_table_tpm2 {
+struct acpi_table_stao {
        struct acpi_table_header header;        /* Common ACPI table header */
-       u32 flags;
-       u64 control_address;
-       u32 start_method;
+       u8 ignore_uart;
+};
+
+/*******************************************************************************
+ *
+ * WPBT - Windows Platform Environment Table (ACPI 6.0)
+ *        Version 1
+ *
+ * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011
+ *
+ ******************************************************************************/
+
+struct acpi_table_wpbt {
+       struct acpi_table_header header;        /* Common ACPI table header */
+       u32 handoff_size;
+       u64 handoff_address;
+       u8 layout;
+       u8 type;
+       u16 arguments_length;
 };
 
-/* Control area structure (not part of table, pointed to by control_address) */
+/*******************************************************************************
+ *
+ * XENV - Xen Environment Table (ACPI 6.0)
+ *        Version 1
+ *
+ * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015
+ *
+ ******************************************************************************/
 
-struct acpi_tpm2_control {
-       u32 reserved;
-       u32 error;
-       u32 cancel;
-       u32 start;
-       u64 interrupt_control;
-       u32 command_size;
-       u64 command_address;
-       u32 response_size;
-       u64 response_address;
+struct acpi_table_xenv {
+       struct acpi_table_header header;        /* Common ACPI table header */
+       u64 grant_table_address;
+       u64 grant_table_size;
+       u32 event_interrupt;
+       u8 event_flags;
 };
 
 /* Reset to default packing */