xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [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).