* [PATCH v4 0/8] Port several ACPI patches from Linux
@ 2016-01-07 7:39 Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 1/8] ACPI 5.0: Add new/changed tables to headers Shannon Zhao
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Shannon Zhao <shannon.zhao@linaro.org>
These patches add some changes of ACPI 5.0, 5.1 and 6.0. They are part
of the previous patch set I sent which adds ACPI support for arm64 on
Xen[1]. Split them as an individual set for convenient reviewing.
Thanks,
Shannon
[1] http://lists.xenproject.org/archives/html/xen-devel/2015-11/msg01831.html
Bob Moore (3):
ACPI 5.0: Add new/changed tables to headers
ACPICA: ACPI 6.0: Add changes for MADT table.
ACPICA: ACPI 6.0: Add support for STAO table
Graeme Gregory (1):
ACPICA/ARM: ACPI 5.1: Update for FADT changes.
Hanjun Guo (2):
ACPICA: ACPI 6.0: Add values for MADT GIC version field
ACPICA: Headers: Add GTDT flag definitions for the timer subtable.
Tomasz Nowicki (2):
ACPICA/ARM: ACPI 5.1: Update for MADT changes.
ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
xen/include/acpi/actbl.h | 12 +++--
xen/include/acpi/actbl1.h | 94 +++++++++++++++++++++++++++++++++++++-
xen/include/acpi/actbl3.h | 114 ++++++++++++++++++++++++++++++++++++++++------
3 files changed, 200 insertions(+), 20 deletions(-)
--
2.0.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/8] ACPI 5.0: Add new/changed tables to headers
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 2/8] ACPICA/ARM: ACPI 5.1: Update for MADT changes Shannon Zhao
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Bob Moore <robert.moore@intel.com>
Adds new file, actbl3.h
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
[Linux commit c5bd6537329e66a8b36234f19a36d94b72d07394]
[only port changes of Generic Interrupt and Generic Distributor, other
changes already exist]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
xen/include/acpi/actbl1.h | 31 +++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/xen/include/acpi/actbl1.h b/xen/include/acpi/actbl1.h
index 9311e3a..ca13bc1 100644
--- a/xen/include/acpi/actbl1.h
+++ b/xen/include/acpi/actbl1.h
@@ -639,7 +639,9 @@ enum acpi_madt_type {
ACPI_MADT_TYPE_INTERRUPT_SOURCE = 8,
ACPI_MADT_TYPE_LOCAL_X2APIC = 9,
ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10,
- ACPI_MADT_TYPE_RESERVED = 11 /* 11 and greater are reserved */
+ ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11,
+ ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,
+ ACPI_MADT_TYPE_RESERVED = 13 /* 13 and greater are reserved */
};
/*
@@ -760,11 +762,36 @@ struct acpi_madt_local_x2apic_nmi {
u8 reserved[3];
};
+/* 11: Generic Interrupt (ACPI 5.0) */
+
+struct acpi_madt_generic_interrupt {
+ struct acpi_subtable_header header;
+ u16 reserved; /* Reserved - must be zero */
+ u32 gic_id;
+ u32 uid;
+ u32 flags;
+ u32 parking_version;
+ u32 performance_interrupt;
+ u64 parked_address;
+ u64 base_address;
+};
+
+/* 12: Generic Distributor (ACPI 5.0) */
+
+struct acpi_madt_generic_distributor {
+ struct acpi_subtable_header header;
+ u16 reserved; /* Reserved - must be zero */
+ u32 gic_id;
+ u64 base_address;
+ u32 global_irq_base;
+ u32 reserved2; /* Reserved - must be zero */
+};
+
/*
* Common flags fields for MADT subtables
*/
-/* MADT Local APIC flags (lapic_flags) */
+/* MADT Local APIC flags (lapic_flags) and GIC flags */
#define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/8] ACPICA/ARM: ACPI 5.1: Update for MADT changes.
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 1/8] ACPI 5.0: Add new/changed tables to headers Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 3/8] ACPICA: ACPI 6.0: Add changes for MADT table Shannon Zhao
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Tomasz Nowicki <tomasz.nowicki@linaro.org>
New subtables and changes to other subtables. Tomasz Nowicki.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit d0c383e48d1b6cdc39cf9cc2f082bbb6f3c28b89]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl1.h | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/xen/include/acpi/actbl1.h b/xen/include/acpi/actbl1.h
index ca13bc1..e28853e 100644
--- a/xen/include/acpi/actbl1.h
+++ b/xen/include/acpi/actbl1.h
@@ -641,7 +641,9 @@ enum acpi_madt_type {
ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10,
ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11,
ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,
- ACPI_MADT_TYPE_RESERVED = 13 /* 13 and greater are reserved */
+ ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,
+ ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,
+ ACPI_MADT_TYPE_RESERVED = 15 /* 15 and greater are reserved */
};
/*
@@ -767,15 +769,26 @@ struct acpi_madt_local_x2apic_nmi {
struct acpi_madt_generic_interrupt {
struct acpi_subtable_header header;
u16 reserved; /* Reserved - must be zero */
- u32 gic_id;
+ u32 cpu_interface_number;
u32 uid;
u32 flags;
u32 parking_version;
u32 performance_interrupt;
u64 parked_address;
u64 base_address;
+ u64 gicv_base_address;
+ u64 gich_base_address;
+ u32 vgic_interrupt;
+ u64 gicr_base_address;
+ u64 arm_mpidr;
};
+/* Masks for Flags field above */
+
+/* ACPI_MADT_ENABLED (1) Processor is usable if set */
+#define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */
+#define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */
+
/* 12: Generic Distributor (ACPI 5.0) */
struct acpi_madt_generic_distributor {
@@ -787,11 +800,36 @@ struct acpi_madt_generic_distributor {
u32 reserved2; /* Reserved - must be zero */
};
+/* 13: Generic MSI Frame (ACPI 5.1) */
+
+struct acpi_madt_generic_msi_frame {
+ struct acpi_subtable_header header;
+ u16 reserved; /* reserved - must be zero */
+ u32 msi_frame_id;
+ u64 base_address;
+ u32 flags;
+ u16 spi_count;
+ u16 spi_base;
+};
+
+/* Masks for Flags field above */
+
+#define ACPI_MADT_OVERRIDE_SPI_VALUES (1)
+
+/* 14: Generic Redistributor (ACPI 5.1) */
+
+struct acpi_madt_generic_redistributor {
+ struct acpi_subtable_header header;
+ u16 reserved; /* reserved - must be zero */
+ u64 base_address;
+ u32 length;
+};
+
/*
* Common flags fields for MADT subtables
*/
-/* MADT Local APIC flags (lapic_flags) and GIC flags */
+/* MADT Local APIC flags */
#define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 3/8] ACPICA: ACPI 6.0: Add changes for MADT table.
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 1/8] ACPI 5.0: Add new/changed tables to headers Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 2/8] ACPICA/ARM: ACPI 5.1: Update for MADT changes Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 4/8] ACPICA: ACPI 6.0: Add values for MADT GIC version field Shannon Zhao
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Bob Moore <robert.moore@intel.com>
ACPICA commit 02cbb41232bccf7a91967140cab95d5f48291f21
New subtable type. Some additions to existing subtables.
Link: https://github.com/acpica/acpica/commit/02cbb412
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit 0cff8dc0099f6d4f7431181918b37a472bcd1bbb]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl1.h | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/xen/include/acpi/actbl1.h b/xen/include/acpi/actbl1.h
index e28853e..afb1545 100644
--- a/xen/include/acpi/actbl1.h
+++ b/xen/include/acpi/actbl1.h
@@ -643,7 +643,8 @@ enum acpi_madt_type {
ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,
ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,
ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,
- ACPI_MADT_TYPE_RESERVED = 15 /* 15 and greater are reserved */
+ ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15,
+ ACPI_MADT_TYPE_RESERVED = 16 /* 16 and greater are reserved */
};
/*
@@ -764,7 +765,7 @@ struct acpi_madt_local_x2apic_nmi {
u8 reserved[3];
};
-/* 11: Generic Interrupt (ACPI 5.0) */
+/* 11: Generic Interrupt (ACPI 5.0 + ACPI 6.0 changes) */
struct acpi_madt_generic_interrupt {
struct acpi_subtable_header header;
@@ -781,6 +782,8 @@ struct acpi_madt_generic_interrupt {
u32 vgic_interrupt;
u64 gicr_base_address;
u64 arm_mpidr;
+ u8 efficiency_class;
+ u8 reserved2[3];
};
/* Masks for Flags field above */
@@ -789,7 +792,7 @@ struct acpi_madt_generic_interrupt {
#define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */
#define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */
-/* 12: Generic Distributor (ACPI 5.0) */
+/* 12: Generic Distributor (ACPI 5.0 + ACPI 6.0 changes) */
struct acpi_madt_generic_distributor {
struct acpi_subtable_header header;
@@ -797,7 +800,8 @@ struct acpi_madt_generic_distributor {
u32 gic_id;
u64 base_address;
u32 global_irq_base;
- u32 reserved2; /* Reserved - must be zero */
+ u8 version;
+ u8 reserved2[3]; /* Reserved - must be zero */
};
/* 13: Generic MSI Frame (ACPI 5.1) */
@@ -825,6 +829,16 @@ struct acpi_madt_generic_redistributor {
u32 length;
};
+/* 15: Generic Translator (ACPI 6.0) */
+
+struct acpi_madt_generic_translator {
+ struct acpi_subtable_header header;
+ u16 reserved; /* reserved - must be zero */
+ u32 translation_id;
+ u64 base_address;
+ u32 reserved2;
+};
+
/*
* Common flags fields for MADT subtables
*/
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 4/8] ACPICA: ACPI 6.0: Add values for MADT GIC version field
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
` (2 preceding siblings ...)
2016-01-07 7:39 ` [PATCH v4 3/8] ACPICA: ACPI 6.0: Add changes for MADT table Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 5/8] ACPICA/ARM: ACPI 5.1: Update for FADT changes Shannon Zhao
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Hanjun Guo <hanjun.guo@linaro.org>
ACPICA commit 4b100dc43e8baee8c8b4891b23bc7ad03eba6a28
Support for the new version field in the generic distributor
subtable. Hanjun Guo <hanjun.guo@linaro.org>
Link: https://github.com/acpica/acpica/commit/4b100dc4
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit a8bd0f07eb594df51845d33f272fb1952fec1a6f]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl1.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/xen/include/acpi/actbl1.h b/xen/include/acpi/actbl1.h
index afb1545..ed5cd2d 100644
--- a/xen/include/acpi/actbl1.h
+++ b/xen/include/acpi/actbl1.h
@@ -804,6 +804,17 @@ struct acpi_madt_generic_distributor {
u8 reserved2[3]; /* Reserved - must be zero */
};
+/* Values for Version field above */
+
+enum acpi_madt_gic_version {
+ ACPI_MADT_GIC_VERSION_NONE = 0,
+ ACPI_MADT_GIC_VERSION_V1 = 1,
+ ACPI_MADT_GIC_VERSION_V2 = 2,
+ ACPI_MADT_GIC_VERSION_V3 = 3,
+ ACPI_MADT_GIC_VERSION_V4 = 4,
+ ACPI_MADT_GIC_VERSION_RESERVED = 5 /* 5 and greater are reserved */
+};
+
/* 13: Generic MSI Frame (ACPI 5.1) */
struct acpi_madt_generic_msi_frame {
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 5/8] ACPICA/ARM: ACPI 5.1: Update for FADT changes.
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
` (3 preceding siblings ...)
2016-01-07 7:39 ` [PATCH v4 4/8] ACPICA: ACPI 6.0: Add values for MADT GIC version field Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 6/8] ACPICA/ARM: ACPI 5.1: Update for GTDT table changes Shannon Zhao
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Graeme Gregory <graeme.gregory@linaro.org>
Adds ARM flags and FADT minor revision. Graeme Gregory.
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit 9eb1105babb8948c402ff785f5b43e35f79c0a0c]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl.h | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/xen/include/acpi/actbl.h b/xen/include/acpi/actbl.h
index 401bc9d..3079176 100644
--- a/xen/include/acpi/actbl.h
+++ b/xen/include/acpi/actbl.h
@@ -244,7 +244,8 @@ struct acpi_table_fadt {
u32 flags; /* Miscellaneous flag bits (see below for individual flags) */
struct acpi_generic_address reset_register; /* 64-bit address of the Reset register */
u8 reset_value; /* Value to write to the reset_register port to reset the system */
- u8 reserved4[3]; /* Reserved, must be zero */
+ u16 arm_boot_flags; /* ARM-Specific Boot Flags (see below for individual flags) (ACPI 5.1) */
+ u8 minor_revision; /* FADT Minor Revision (ACPI 5.1) */
u64 Xfacs; /* 64-bit physical address of FACS */
u64 Xdsdt; /* 64-bit physical address of DSDT */
struct acpi_generic_address xpm1a_event_block; /* 64-bit Extended Power Mgt 1a Event Reg Blk address */
@@ -260,7 +261,7 @@ struct acpi_table_fadt {
u64 hypervisor_id; /* Hypervisor Vendor ID (ACPI 6.0) */
};
-/* Masks for FADT Boot Architecture Flags (boot_flags) */
+/* Masks for FADT IA-PC Boot Architecture Flags (boot_flags) */
#define ACPI_FADT_LEGACY_DEVICES (1) /* 00: [V2] System has LPC or ISA bus devices */
#define ACPI_FADT_8042 (1<<1) /* 01: [V3] System has an 8042 controller on port 60/64 */
@@ -271,6 +272,11 @@ struct acpi_table_fadt {
#define FADT2_REVISION_ID 3
+/* Masks for FADT ARM Boot Architecture Flags (arm_boot_flags) ACPI 5.1 */
+
+#define ACPI_FADT_PSCI_COMPLIANT (1) /* 00: [V5+] PSCI 0.2+ is implemented */
+#define ACPI_FADT_PSCI_USE_HVC (1<<1) /* 01: [V5+] HVC must be used instead of SMC as the PSCI conduit */
+
/* Masks for FADT flags */
#define ACPI_FADT_WBINVD (1) /* 00: [V1] The wbinvd instruction works properly */
@@ -347,7 +353,7 @@ enum acpi_prefered_pm_profiles {
* FADT V6 size: 0x114
*/
#define ACPI_FADT_V1_SIZE (u32) (ACPI_FADT_OFFSET (flags) + 4)
-#define ACPI_FADT_V2_SIZE (u32) (ACPI_FADT_OFFSET (reserved4[0]) + 3)
+#define ACPI_FADT_V2_SIZE (u32) (ACPI_FADT_OFFSET (minor_revision) + 1)
#define ACPI_FADT_V3_SIZE (u32) (ACPI_FADT_OFFSET (sleep_control))
#define ACPI_FADT_V5_SIZE (u32) (ACPI_FADT_OFFSET (hypervisor_id))
#define ACPI_FADT_V6_SIZE (u32) (sizeof (struct acpi_table_fadt))
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 6/8] ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
` (4 preceding siblings ...)
2016-01-07 7:39 ` [PATCH v4 5/8] ACPICA/ARM: ACPI 5.1: Update for FADT changes Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 7/8] ACPICA: Headers: Add GTDT flag definitions for the timer subtable Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 8/8] ACPICA: ACPI 6.0: Add support for STAO table Shannon Zhao
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Tomasz Nowicki <tomasz.nowicki@linaro.org>
New fields and new subtables. Tomasz Nowicki.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit 54ea4247d389059674aaacad7af224459b135fb9]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl3.h | 93 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 78 insertions(+), 15 deletions(-)
diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h
index 8c61b5f..39f1f36 100644
--- a/xen/include/acpi/actbl3.h
+++ b/xen/include/acpi/actbl3.h
@@ -241,33 +241,96 @@ struct acpi_s3pt_suspend {
/*******************************************************************************
*
- * GTDT - Generic Timer Description Table (ACPI 5.0)
- * Version 1
+ * GTDT - Generic Timer Description Table (ACPI 5.1)
+ * Version 2
*
******************************************************************************/
struct acpi_table_gtdt {
struct acpi_table_header header; /* Common ACPI table header */
- u64 address;
- u32 flags;
- u32 secure_pl1_interrupt;
- u32 secure_pl1_flags;
- u32 non_secure_pl1_interrupt;
- u32 non_secure_pl1_flags;
+ u64 counter_block_addresss;
+ u32 reserved;
+ u32 secure_el1_interrupt;
+ u32 secure_el1_flags;
+ u32 non_secure_el1_interrupt;
+ u32 non_secure_el1_flags;
u32 virtual_timer_interrupt;
u32 virtual_timer_flags;
- u32 non_secure_pl2_interrupt;
- u32 non_secure_pl2_flags;
+ u32 non_secure_el2_interrupt;
+ u32 non_secure_el2_flags;
+ u64 counter_read_block_address;
+ u32 platform_timer_count;
+ u32 platform_timer_offset;
};
-/* Values for Flags field above */
+/* Flag Definitions: Timer Block Physical Timers and Virtual timers */
+
+#define ACPI_GTDT_INTERRUPT_MODE (1)
+#define ACPI_GTDT_INTERRUPT_POLARITY (1<<1)
+#define ACPI_GTDT_ALWAYS_ON (1<<2)
+
+/* Common GTDT subtable header */
+
+struct acpi_gtdt_header {
+ u8 type;
+ u16 length;
+};
+
+/* Values for GTDT subtable type above */
+
+enum acpi_gtdt_type {
+ ACPI_GTDT_TYPE_TIMER_BLOCK = 0,
+ ACPI_GTDT_TYPE_WATCHDOG = 1,
+ ACPI_GTDT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
+};
-#define ACPI_GTDT_MAPPED_BLOCK_PRESENT 1
+/* GTDT Subtables, correspond to Type in struct acpi_gtdt_header */
+
+/* 0: Generic Timer Block */
+
+struct acpi_gtdt_timer_block {
+ struct acpi_gtdt_header header;
+ u8 reserved;
+ u64 block_address;
+ u32 timer_count;
+ u32 timer_offset;
+};
+
+/* Timer Sub-Structure, one per timer */
+
+struct acpi_gtdt_timer_entry {
+ u8 frame_number;
+ u8 reserved[3];
+ u64 base_address;
+ u64 el0_base_address;
+ u32 timer_interrupt;
+ u32 timer_flags;
+ u32 virtual_timer_interrupt;
+ u32 virtual_timer_flags;
+ u32 common_flags;
+};
+
+/* Flag Definitions: common_flags above */
+
+#define ACPI_GTDT_GT_IS_SECURE_TIMER (1)
+#define ACPI_GTDT_GT_ALWAYS_ON (1<<1)
+
+/* 1: SBSA Generic Watchdog Structure */
+
+struct acpi_gtdt_watchdog {
+ struct acpi_gtdt_header header;
+ u8 reserved;
+ u64 refresh_frame_address;
+ u64 control_frame_address;
+ u32 timer_interrupt;
+ u32 timer_flags;
+};
-/* Values for all "TimerFlags" fields above */
+/* Flag Definitions: timer_flags above */
-#define ACPI_GTDT_INTERRUPT_MODE 1
-#define ACPI_GTDT_INTERRUPT_POLARITY 2
+#define ACPI_GTDT_WATCHDOG_IRQ_MODE (1)
+#define ACPI_GTDT_WATCHDOG_IRQ_POLARITY (1<<1)
+#define ACPI_GTDT_WATCHDOG_SECURE (1<<2)
/*******************************************************************************
*
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 7/8] ACPICA: Headers: Add GTDT flag definitions for the timer subtable.
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
` (5 preceding siblings ...)
2016-01-07 7:39 ` [PATCH v4 6/8] ACPICA/ARM: ACPI 5.1: Update for GTDT table changes Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 8/8] ACPICA: ACPI 6.0: Add support for STAO table Shannon Zhao
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Hanjun Guo <hanjun.guo@linaro.org>
Mostly by Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit 34ea065e5e607dcbb249046c42a491f8b24ad849]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
xen/include/acpi/actbl3.h | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h
index 39f1f36..c472045 100644
--- a/xen/include/acpi/actbl3.h
+++ b/xen/include/acpi/actbl3.h
@@ -310,10 +310,15 @@ struct acpi_gtdt_timer_entry {
u32 common_flags;
};
+/* Flag Definitions: timer_flags and virtual_timer_flags above */
+
+#define ACPI_GTDT_GT_IRQ_MODE (1)
+#define ACPI_GTDT_GT_IRQ_POLARITY (1<<1)
+
/* Flag Definitions: common_flags above */
-#define ACPI_GTDT_GT_IS_SECURE_TIMER (1)
-#define ACPI_GTDT_GT_ALWAYS_ON (1<<1)
+#define ACPI_GTDT_GT_IS_SECURE_TIMER (1)
+#define ACPI_GTDT_GT_ALWAYS_ON (1<<1)
/* 1: SBSA Generic Watchdog Structure */
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 8/8] ACPICA: ACPI 6.0: Add support for STAO table
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
` (6 preceding siblings ...)
2016-01-07 7:39 ` [PATCH v4 7/8] ACPICA: Headers: Add GTDT flag definitions for the timer subtable Shannon Zhao
@ 2016-01-07 7:39 ` Shannon Zhao
7 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-01-07 7:39 UTC (permalink / raw)
To: xen-devel
Cc: julien.grall, stefano.stabellini, shannon.zhao, JBeulich,
peter.huangpeng
From: Bob Moore <robert.moore@intel.com>
ACPICA commit 532bf402a503061afd9d80a23e1d3c8fd99b052c
_STA override table.
Link: https://github.com/acpica/acpica/commit/532bf402
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit 37e12657f8922ebc62f696494c56c81db509053e]
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/acpi/actbl3.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h
index c472045..0a67784 100644
--- a/xen/include/acpi/actbl3.h
+++ b/xen/include/acpi/actbl3.h
@@ -68,6 +68,7 @@
#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_STAO "STAO" /* Status Override table */
#define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */
#define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */
@@ -618,6 +619,21 @@ enum acpi_rasf_status {
#define ACPI_RASF_ERROR (1<<2)
#define ACPI_RASF_STATUS (0x1F<<3)
+/*******************************************************************************
+ *
+ * STAO - Status Override Table (_STA override) - ACPI 6.0
+ * Version 1
+ *
+ * Conforms to "ACPI Specification for Status Override Table"
+ * 6 January 2015
+ *
+ ******************************************************************************/
+
+struct acpi_table_stao {
+ struct acpi_table_header header; /* Common ACPI table header */
+ u8 ignore_uart;
+};
+
/* Reset to default packing */
#pragma pack()
--
2.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-01-07 7:39 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-07 7:39 [PATCH v4 0/8] Port several ACPI patches from Linux Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 1/8] ACPI 5.0: Add new/changed tables to headers Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 2/8] ACPICA/ARM: ACPI 5.1: Update for MADT changes Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 3/8] ACPICA: ACPI 6.0: Add changes for MADT table Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 4/8] ACPICA: ACPI 6.0: Add values for MADT GIC version field Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 5/8] ACPICA/ARM: ACPI 5.1: Update for FADT changes Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 6/8] ACPICA/ARM: ACPI 5.1: Update for GTDT table changes Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 7/8] ACPICA: Headers: Add GTDT flag definitions for the timer subtable Shannon Zhao
2016-01-07 7:39 ` [PATCH v4 8/8] ACPICA: ACPI 6.0: Add support for STAO table Shannon Zhao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).