All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/19] ACPICA: 20150515 Release
@ 2015-05-21  2:29 ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:29 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown; +Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi

The 20150515 ACPICA kernel-resident subsystem updates are linuxized based
on the linux-pm/linux-next branch.

The patchset has passed the following build/boot tests.
Build tests are performed as follows:
1. i386 + default + COFNIG_ACPI=y
2. i386 + allyes + CONFIG_ACPI=y
3. i386 + default + COFNIG_ACPI=n
4. i386 + allyes + CONFIG_ACPI=n
5. x86_64 + default + COFNIG_ACPI=y
6. x86_64 + allyes + CONFIG_ACPI=y
7. x86_64 + default + COFNIG_ACPI=n
8. x86_64 + allyes + CONFIG_ACPI=n
Boot tests are performed as follows:
1. i386 + default + COFNIG_ACPI=y
2. x86_64 + default + COFNIG_ACPI=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2. x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
   All hardware drivers related to the machines of i386/x86_64
   All drivers/acpi configurations
   All platform drivers

The divergences checking result:
Before applying (20150410 Release):
  531 lines
After applying (20150515 Release):
  565 lines
(Increased due to _REV reversion).

Bob Moore (14):
  ACPICA: Additional dragon_fly BSD support.
  ACPICA: ACPI 6.0: Add support for STAO table.
  ACPICA: ACPI 6.0: Add support for new predefined names.
  ACPICA: ACPI 6.0: Add support for XENV table.
  ACPICA: Parser: Move a couple externals to the proper header.
  ACPICA: iASL: Enhance detection of non-ascii or corrupted input
    files.
  ACPICA: ACPI 6.0: Add support for WPBT table.
  ACPICA: ACPI 6.0: Add changes for FADT table.
  ACPICA: ACPI 6.0: Add changes for LPIT table.
  ACPICA: ACPI 6.0: Add changes for MADT table.
  ACPICA: iASL/disassembler - fix possible fault for -e option.
  ACPICA: acpi_help: Add option to display all known/supported ACPI
    tables.
  ACPICA: ACPI 6.0: Add support for NFIT table.
  ACPICA: Update version to 20150515.

Lv Zheng (5):
  ACPICA: Dispatcher: Fix a resource leak issue in
    acpi_ds_auto_serialize_method().
  ACPICA: Hardware: Fix a resource leak issue in
    acpi_hw_build_pci_list().
  ACPICA: ACPI 6.0: Add ACPI_SUB_PTR().
  ACPICA: ACPI 6.0: Add support for IORT table.
  ACPICA: ACPI 6.0: Add changes for DRTM table.

 drivers/acpi/acpica/acdebug.h   |    4 +-
 drivers/acpi/acpica/aclocal.h   |   15 ++++
 drivers/acpi/acpica/acparser.h  |    3 +
 drivers/acpi/acpica/acpredef.h  |   45 +++++++++-
 drivers/acpi/acpica/acutils.h   |    2 +-
 drivers/acpi/acpica/dsmethod.c  |    5 +-
 drivers/acpi/acpica/hwpci.c     |    9 +-
 drivers/acpi/acpica/nsprepkg.c  |   13 +++
 drivers/acpi/acpica/nsrepair.c  |    2 +-
 drivers/acpi/acpica/psopinfo.c  |    3 -
 drivers/acpi/acpica/utfileio.c  |    9 +-
 drivers/acpi/acpica/uthex.c     |    4 +-
 drivers/acpi/acpica/utxferror.c |   11 ++-
 include/acpi/acpixf.h           |    2 +-
 include/acpi/actbl.h            |   17 ++--
 include/acpi/actbl1.h           |  176 ++++++++++++++++++++++++++++++++++++++-
 include/acpi/actbl2.h           |  146 ++++++++++++++++++++++++++++----
 include/acpi/actbl3.h           |   88 ++++++++++++++++++--
 include/acpi/actypes.h          |    1 +
 include/acpi/acuuid.h           |   64 ++++++++++++++
 include/acpi/platform/acenv.h   |    3 +
 include/acpi/platform/acenvex.h |    3 +
 22 files changed, 560 insertions(+), 65 deletions(-)
 create mode 100644 include/acpi/acuuid.h

-- 
1.7.10

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH 00/19] ACPICA: 20150515 Release
@ 2015-05-21  2:29 ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:29 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown; +Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi

The 20150515 ACPICA kernel-resident subsystem updates are linuxized based
on the linux-pm/linux-next branch.

The patchset has passed the following build/boot tests.
Build tests are performed as follows:
1. i386 + default + COFNIG_ACPI=y
2. i386 + allyes + CONFIG_ACPI=y
3. i386 + default + COFNIG_ACPI=n
4. i386 + allyes + CONFIG_ACPI=n
5. x86_64 + default + COFNIG_ACPI=y
6. x86_64 + allyes + CONFIG_ACPI=y
7. x86_64 + default + COFNIG_ACPI=n
8. x86_64 + allyes + CONFIG_ACPI=n
Boot tests are performed as follows:
1. i386 + default + COFNIG_ACPI=y
2. x86_64 + default + COFNIG_ACPI=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2. x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
   All hardware drivers related to the machines of i386/x86_64
   All drivers/acpi configurations
   All platform drivers

The divergences checking result:
Before applying (20150410 Release):
  531 lines
After applying (20150515 Release):
  565 lines
(Increased due to _REV reversion).

Bob Moore (14):
  ACPICA: Additional dragon_fly BSD support.
  ACPICA: ACPI 6.0: Add support for STAO table.
  ACPICA: ACPI 6.0: Add support for new predefined names.
  ACPICA: ACPI 6.0: Add support for XENV table.
  ACPICA: Parser: Move a couple externals to the proper header.
  ACPICA: iASL: Enhance detection of non-ascii or corrupted input
    files.
  ACPICA: ACPI 6.0: Add support for WPBT table.
  ACPICA: ACPI 6.0: Add changes for FADT table.
  ACPICA: ACPI 6.0: Add changes for LPIT table.
  ACPICA: ACPI 6.0: Add changes for MADT table.
  ACPICA: iASL/disassembler - fix possible fault for -e option.
  ACPICA: acpi_help: Add option to display all known/supported ACPI
    tables.
  ACPICA: ACPI 6.0: Add support for NFIT table.
  ACPICA: Update version to 20150515.

Lv Zheng (5):
  ACPICA: Dispatcher: Fix a resource leak issue in
    acpi_ds_auto_serialize_method().
  ACPICA: Hardware: Fix a resource leak issue in
    acpi_hw_build_pci_list().
  ACPICA: ACPI 6.0: Add ACPI_SUB_PTR().
  ACPICA: ACPI 6.0: Add support for IORT table.
  ACPICA: ACPI 6.0: Add changes for DRTM table.

 drivers/acpi/acpica/acdebug.h   |    4 +-
 drivers/acpi/acpica/aclocal.h   |   15 ++++
 drivers/acpi/acpica/acparser.h  |    3 +
 drivers/acpi/acpica/acpredef.h  |   45 +++++++++-
 drivers/acpi/acpica/acutils.h   |    2 +-
 drivers/acpi/acpica/dsmethod.c  |    5 +-
 drivers/acpi/acpica/hwpci.c     |    9 +-
 drivers/acpi/acpica/nsprepkg.c  |   13 +++
 drivers/acpi/acpica/nsrepair.c  |    2 +-
 drivers/acpi/acpica/psopinfo.c  |    3 -
 drivers/acpi/acpica/utfileio.c  |    9 +-
 drivers/acpi/acpica/uthex.c     |    4 +-
 drivers/acpi/acpica/utxferror.c |   11 ++-
 include/acpi/acpixf.h           |    2 +-
 include/acpi/actbl.h            |   17 ++--
 include/acpi/actbl1.h           |  176 ++++++++++++++++++++++++++++++++++++++-
 include/acpi/actbl2.h           |  146 ++++++++++++++++++++++++++++----
 include/acpi/actbl3.h           |   88 ++++++++++++++++++--
 include/acpi/actypes.h          |    1 +
 include/acpi/acuuid.h           |   64 ++++++++++++++
 include/acpi/platform/acenv.h   |    3 +
 include/acpi/platform/acenvex.h |    3 +
 22 files changed, 560 insertions(+), 65 deletions(-)
 create mode 100644 include/acpi/acuuid.h

-- 
1.7.10


^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH 01/19] ACPICA: Additional dragon_fly BSD support.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 3e93431674abe947202b0f9a0afa7b625b17caa6

Makefiles and environment defines.
This commit doesn't affect Linux builds.

Link: https://github.com/acpica/acpica/commit/3e934316
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/platform/acenv.h   |    3 +++
 include/acpi/platform/acenvex.h |    3 +++
 2 files changed, 6 insertions(+)

diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index ecdf940..073997d 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -175,6 +175,9 @@
 #elif defined(_APPLE) || defined(__APPLE__)
 #include "acmacosx.h"
 
+#elif defined(__DragonFly__)
+#include "acdragonfly.h"
+
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #include "acfreebsd.h"
 
diff --git a/include/acpi/platform/acenvex.h b/include/acpi/platform/acenvex.h
index 71e5ec5..14dc6f6 100644
--- a/include/acpi/platform/acenvex.h
+++ b/include/acpi/platform/acenvex.h
@@ -56,6 +56,9 @@
 #if defined(_LINUX) || defined(__linux__)
 #include <acpi/platform/aclinuxex.h>
 
+#elif defined(__DragonFly__)
+#include "acdragonflyex.h"
+
 #endif
 
 /*! [End] no source code translation !*/
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 01/19] ACPICA: Additional dragon_fly BSD support.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 3e93431674abe947202b0f9a0afa7b625b17caa6

Makefiles and environment defines.
This commit doesn't affect Linux builds.

Link: https://github.com/acpica/acpica/commit/3e934316
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/platform/acenv.h   |    3 +++
 include/acpi/platform/acenvex.h |    3 +++
 2 files changed, 6 insertions(+)

diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index ecdf940..073997d 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -175,6 +175,9 @@
 #elif defined(_APPLE) || defined(__APPLE__)
 #include "acmacosx.h"
 
+#elif defined(__DragonFly__)
+#include "acdragonfly.h"
+
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #include "acfreebsd.h"
 
diff --git a/include/acpi/platform/acenvex.h b/include/acpi/platform/acenvex.h
index 71e5ec5..14dc6f6 100644
--- a/include/acpi/platform/acenvex.h
+++ b/include/acpi/platform/acenvex.h
@@ -56,6 +56,9 @@
 #if defined(_LINUX) || defined(__linux__)
 #include <acpi/platform/aclinuxex.h>
 
+#elif defined(__DragonFly__)
+#include "acdragonflyex.h"
+
 #endif
 
 /*! [End] no source code translation !*/
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 02/19] ACPICA: ACPI 6.0: Add support for STAO table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

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>
---
 include/acpi/actbl3.h |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index 440ca81..eb994e9 100644
--- a/include/acpi/actbl3.h
+++ b/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_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface table */
 
 #define ACPI_SIG_S3PT           "S3PT"	/* S3 Performance (sub)Table */
@@ -685,6 +686,21 @@ enum acpi_rasf_status {
 
 /*******************************************************************************
  *
+ * 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;
+};
+
+/*******************************************************************************
+ *
  * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
  *        Version 3
  *
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 02/19] ACPICA: ACPI 6.0: Add support for STAO table.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

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>
---
 include/acpi/actbl3.h |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index 440ca81..eb994e9 100644
--- a/include/acpi/actbl3.h
+++ b/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_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface table */
 
 #define ACPI_SIG_S3PT           "S3PT"	/* S3 Performance (sub)Table */
@@ -685,6 +686,21 @@ enum acpi_rasf_status {
 
 /*******************************************************************************
  *
+ * 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;
+};
+
+/*******************************************************************************
+ *
  * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
  *        Version 3
  *
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 03/19] ACPICA: ACPI 6.0: Add support for new predefined names.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 7ba68f2eafa12fe75ee7aa0df7543d5ea2443051

Compiler, Interpreter, acpi_help.

_BTH, _CR3, _DSD, _LPI, _MTL, _PRR, _RDI,
_RST, _TFP, _TSN.

Link: https://github.com/acpica/acpica/commit/7ba68f2e
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/aclocal.h  |   10 +++++++++
 drivers/acpi/acpica/acpredef.h |   45 +++++++++++++++++++++++++++++++++++++---
 drivers/acpi/acpica/nsprepkg.c |   13 ++++++++++++
 drivers/acpi/acpica/nsrepair.c |    2 +-
 4 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 87b2752..3596958 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -352,11 +352,21 @@ struct acpi_package_info3 {
 	u16 reserved;
 };
 
+struct acpi_package_info4 {
+	u8 type;
+	u8 object_type1;
+	u8 count1;
+	u8 sub_object_types;
+	u8 pkg_count;
+	u16 reserved;
+};
+
 union acpi_predefined_info {
 	struct acpi_name_info info;
 	struct acpi_package_info ret_info;
 	struct acpi_package_info2 ret_info2;
 	struct acpi_package_info3 ret_info3;
+	struct acpi_package_info4 ret_info4;
 };
 
 /* Reset to default packing */
diff --git a/drivers/acpi/acpica/acpredef.h b/drivers/acpi/acpica/acpredef.h
index a972d11..b9474b5 100644
--- a/drivers/acpi/acpica/acpredef.h
+++ b/drivers/acpi/acpica/acpredef.h
@@ -105,6 +105,11 @@
  *      count = 0 (optional)
  *      (Used for _DLM)
  *
+ * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a
+ *      constant or variable length. The subpackages are preceded by a
+ *      constant number of objects.
+ *      (Used for _LPI, _RDI)
+ *
  * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
  *      defines the format of the package. Zero-length parent package is
  *      allowed.
@@ -123,7 +128,8 @@ enum acpi_return_package_types {
 	ACPI_PTYPE2_MIN = 8,
 	ACPI_PTYPE2_REV_FIXED = 9,
 	ACPI_PTYPE2_FIX_VAR = 10,
-	ACPI_PTYPE2_UUID_PAIR = 11
+	ACPI_PTYPE2_VAR_VAR = 11,
+	ACPI_PTYPE2_UUID_PAIR = 12
 };
 
 /* Support macros for users of the predefined info table */
@@ -172,7 +178,7 @@ enum acpi_return_package_types {
  * These are the names that can actually be evaluated via acpi_evaluate_object.
  * Not present in this table are the following:
  *
- *      1) Predefined/Reserved names that are never evaluated via
+ *      1) Predefined/Reserved names that are not usually evaluated via
  *         acpi_evaluate_object:
  *              _Lxx and _Exx GPE methods
  *              _Qxx EC methods
@@ -361,6 +367,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (4 Int) */
 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
 
+	{{"_BTH", METHOD_1ARGS(ACPI_TYPE_INTEGER),	/* ACPI 6.0 */
+	  METHOD_NO_RETURN_VALUE}},
+
 	{{"_BTM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -390,6 +399,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,
 		     0, 0, 0),
 
+	{{"_CR3", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_CRS", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -445,7 +457,7 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_DOS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_NO_RETURN_VALUE}},
 
-	{{"_DSD", METHOD_0ARGS,
+	{{"_DSD", METHOD_0ARGS,	/* ACPI 6.0 */
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
 	PACKAGE_INFO(ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1,
 		     ACPI_RTYPE_PACKAGE, 1, 0),
@@ -604,6 +616,12 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (1 Int(rev), n Pkg (2 Int) */
 	PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
 
+	{{"_LPI", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (3 Int, n Pkg (10 Int/Buf) */
+	PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,
+		     ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING,
+		     10, 0),
+
 	{{"_MAT", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -624,6 +642,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 		       ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_MTL", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_NTT", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -716,6 +737,10 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
 
+	{{"_PRR", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Ref) */
+	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0),
+
 	{{"_PRS", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -796,6 +821,11 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_PXM", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_RDI", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (1 Int, n Pkg (m Ref)) */
+	PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
+		     ACPI_RTYPE_REFERENCE, 0, 0),
+
 	{{"_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
 	  METHOD_NO_RETURN_VALUE}},
 
@@ -808,6 +838,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
+	{{"_RST", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_NO_RETURN_VALUE}},
+
 	{{"_RTV", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -935,6 +968,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_TDL", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_TFP", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -959,6 +995,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each 5 Int with count */
 	PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
 
+	{{"_TSN", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
+
 	{{"_TSP", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
diff --git a/drivers/acpi/acpica/nsprepkg.c b/drivers/acpi/acpica/nsprepkg.c
index 8b79958..9bb2519 100644
--- a/drivers/acpi/acpica/nsprepkg.c
+++ b/drivers/acpi/acpica/nsprepkg.c
@@ -316,6 +316,13 @@ acpi_ns_check_package(struct acpi_evaluate_info *info,
 		    acpi_ns_check_package_list(info, package, elements, count);
 		break;
 
+	case ACPI_PTYPE2_VAR_VAR:
+		/*
+		 * Returns a variable list of packages, each with a variable list
+		 * of objects.
+		 */
+		break;
+
 	case ACPI_PTYPE2_UUID_PAIR:
 
 		/* The package must contain pairs of (UUID + type) */
@@ -487,6 +494,12 @@ acpi_ns_check_package_list(struct acpi_evaluate_info *info,
 			}
 			break;
 
+		case ACPI_PTYPE2_VAR_VAR:
+			/*
+			 * Each subpackage has a fixed or variable number of elements
+			 */
+			break;
+
 		case ACPI_PTYPE2_FIXED:
 
 			/* Each subpackage has a fixed length */
diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
index 151fcd9..77d8103 100644
--- a/drivers/acpi/acpica/nsrepair.c
+++ b/drivers/acpi/acpica/nsrepair.c
@@ -497,10 +497,10 @@ acpi_ns_remove_null_elements(struct acpi_evaluate_info *info,
 	case ACPI_PTYPE2_MIN:
 	case ACPI_PTYPE2_REV_FIXED:
 	case ACPI_PTYPE2_FIX_VAR:
-
 		break;
 
 	default:
+	case ACPI_PTYPE2_VAR_VAR:
 	case ACPI_PTYPE1_FIXED:
 	case ACPI_PTYPE1_OPTION:
 		return;
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 03/19] ACPICA: ACPI 6.0: Add support for new predefined names.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 7ba68f2eafa12fe75ee7aa0df7543d5ea2443051

Compiler, Interpreter, acpi_help.

_BTH, _CR3, _DSD, _LPI, _MTL, _PRR, _RDI,
_RST, _TFP, _TSN.

Link: https://github.com/acpica/acpica/commit/7ba68f2e
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/aclocal.h  |   10 +++++++++
 drivers/acpi/acpica/acpredef.h |   45 +++++++++++++++++++++++++++++++++++++---
 drivers/acpi/acpica/nsprepkg.c |   13 ++++++++++++
 drivers/acpi/acpica/nsrepair.c |    2 +-
 4 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 87b2752..3596958 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -352,11 +352,21 @@ struct acpi_package_info3 {
 	u16 reserved;
 };
 
+struct acpi_package_info4 {
+	u8 type;
+	u8 object_type1;
+	u8 count1;
+	u8 sub_object_types;
+	u8 pkg_count;
+	u16 reserved;
+};
+
 union acpi_predefined_info {
 	struct acpi_name_info info;
 	struct acpi_package_info ret_info;
 	struct acpi_package_info2 ret_info2;
 	struct acpi_package_info3 ret_info3;
+	struct acpi_package_info4 ret_info4;
 };
 
 /* Reset to default packing */
diff --git a/drivers/acpi/acpica/acpredef.h b/drivers/acpi/acpica/acpredef.h
index a972d11..b9474b5 100644
--- a/drivers/acpi/acpica/acpredef.h
+++ b/drivers/acpi/acpica/acpredef.h
@@ -105,6 +105,11 @@
  *      count = 0 (optional)
  *      (Used for _DLM)
  *
+ * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a
+ *      constant or variable length. The subpackages are preceded by a
+ *      constant number of objects.
+ *      (Used for _LPI, _RDI)
+ *
  * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
  *      defines the format of the package. Zero-length parent package is
  *      allowed.
@@ -123,7 +128,8 @@ enum acpi_return_package_types {
 	ACPI_PTYPE2_MIN = 8,
 	ACPI_PTYPE2_REV_FIXED = 9,
 	ACPI_PTYPE2_FIX_VAR = 10,
-	ACPI_PTYPE2_UUID_PAIR = 11
+	ACPI_PTYPE2_VAR_VAR = 11,
+	ACPI_PTYPE2_UUID_PAIR = 12
 };
 
 /* Support macros for users of the predefined info table */
@@ -172,7 +178,7 @@ enum acpi_return_package_types {
  * These are the names that can actually be evaluated via acpi_evaluate_object.
  * Not present in this table are the following:
  *
- *      1) Predefined/Reserved names that are never evaluated via
+ *      1) Predefined/Reserved names that are not usually evaluated via
  *         acpi_evaluate_object:
  *              _Lxx and _Exx GPE methods
  *              _Qxx EC methods
@@ -361,6 +367,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (4 Int) */
 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
 
+	{{"_BTH", METHOD_1ARGS(ACPI_TYPE_INTEGER),	/* ACPI 6.0 */
+	  METHOD_NO_RETURN_VALUE}},
+
 	{{"_BTM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -390,6 +399,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,
 		     0, 0, 0),
 
+	{{"_CR3", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_CRS", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -445,7 +457,7 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_DOS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_NO_RETURN_VALUE}},
 
-	{{"_DSD", METHOD_0ARGS,
+	{{"_DSD", METHOD_0ARGS,	/* ACPI 6.0 */
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
 	PACKAGE_INFO(ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1,
 		     ACPI_RTYPE_PACKAGE, 1, 0),
@@ -604,6 +616,12 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (1 Int(rev), n Pkg (2 Int) */
 	PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
 
+	{{"_LPI", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (3 Int, n Pkg (10 Int/Buf) */
+	PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,
+		     ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING,
+		     10, 0),
+
 	{{"_MAT", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -624,6 +642,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 		       ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_MTL", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_NTT", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -716,6 +737,10 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
 
+	{{"_PRR", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Ref) */
+	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0),
+
 	{{"_PRS", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
@@ -796,6 +821,11 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_PXM", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_RDI", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (1 Int, n Pkg (m Ref)) */
+	PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
+		     ACPI_RTYPE_REFERENCE, 0, 0),
+
 	{{"_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
 	  METHOD_NO_RETURN_VALUE}},
 
@@ -808,6 +838,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
 
+	{{"_RST", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_NO_RETURN_VALUE}},
+
 	{{"_RTV", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -935,6 +968,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	{{"_TDL", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
+	{{"_TFP", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
+
 	{{"_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
@@ -959,6 +995,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each 5 Int with count */
 	PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
 
+	{{"_TSN", METHOD_0ARGS,	/* ACPI 6.0 */
+	  METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
+
 	{{"_TSP", METHOD_0ARGS,
 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
 
diff --git a/drivers/acpi/acpica/nsprepkg.c b/drivers/acpi/acpica/nsprepkg.c
index 8b79958..9bb2519 100644
--- a/drivers/acpi/acpica/nsprepkg.c
+++ b/drivers/acpi/acpica/nsprepkg.c
@@ -316,6 +316,13 @@ acpi_ns_check_package(struct acpi_evaluate_info *info,
 		    acpi_ns_check_package_list(info, package, elements, count);
 		break;
 
+	case ACPI_PTYPE2_VAR_VAR:
+		/*
+		 * Returns a variable list of packages, each with a variable list
+		 * of objects.
+		 */
+		break;
+
 	case ACPI_PTYPE2_UUID_PAIR:
 
 		/* The package must contain pairs of (UUID + type) */
@@ -487,6 +494,12 @@ acpi_ns_check_package_list(struct acpi_evaluate_info *info,
 			}
 			break;
 
+		case ACPI_PTYPE2_VAR_VAR:
+			/*
+			 * Each subpackage has a fixed or variable number of elements
+			 */
+			break;
+
 		case ACPI_PTYPE2_FIXED:
 
 			/* Each subpackage has a fixed length */
diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
index 151fcd9..77d8103 100644
--- a/drivers/acpi/acpica/nsrepair.c
+++ b/drivers/acpi/acpica/nsrepair.c
@@ -497,10 +497,10 @@ acpi_ns_remove_null_elements(struct acpi_evaluate_info *info,
 	case ACPI_PTYPE2_MIN:
 	case ACPI_PTYPE2_REV_FIXED:
 	case ACPI_PTYPE2_FIX_VAR:
-
 		break;
 
 	default:
+	case ACPI_PTYPE2_VAR_VAR:
 	case ACPI_PTYPE1_FIXED:
 	case ACPI_PTYPE1_OPTION:
 		return;
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 04/19] ACPICA: ACPI 6.0: Add support for XENV table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 08c4197cf4ddd45f0c961078220b0fc19c10745c

Xen Environment table.

Link: https://github.com/acpica/acpica/commit/08c4197c
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl3.h |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index eb994e9..3eed4c8 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -70,6 +70,7 @@
 #define ACPI_SIG_RASF           "RASF"	/* RAS Feature table */
 #define ACPI_SIG_STAO           "STAO"	/* Status Override table */
 #define ACPI_SIG_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface 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 */
@@ -729,6 +730,23 @@ struct acpi_tpm2_control {
 	u64 response_address;
 };
 
+/*******************************************************************************
+ *
+ * XENV - Xen Environment Table (ACPI 6.0)
+ *        Version 1
+ *
+ * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015
+ *
+ ******************************************************************************/
+
+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 */
 
 #pragma pack()
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 04/19] ACPICA: ACPI 6.0: Add support for XENV table.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 08c4197cf4ddd45f0c961078220b0fc19c10745c

Xen Environment table.

Link: https://github.com/acpica/acpica/commit/08c4197c
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl3.h |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index eb994e9..3eed4c8 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -70,6 +70,7 @@
 #define ACPI_SIG_RASF           "RASF"	/* RAS Feature table */
 #define ACPI_SIG_STAO           "STAO"	/* Status Override table */
 #define ACPI_SIG_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface 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 */
@@ -729,6 +730,23 @@ struct acpi_tpm2_control {
 	u64 response_address;
 };
 
+/*******************************************************************************
+ *
+ * XENV - Xen Environment Table (ACPI 6.0)
+ *        Version 1
+ *
+ * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015
+ *
+ ******************************************************************************/
+
+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 */
 
 #pragma pack()
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 05/19] ACPICA: Parser: Move a couple externals to the proper header.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 7325b59c8b5d1522ded51ae6a76b804f6e8da5d2

Moved from a C module.

Link: https://github.com/acpica/acpica/commit/7325b59c
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acparser.h |    3 +++
 drivers/acpi/acpica/psopinfo.c |    3 ---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/acpica/acparser.h b/drivers/acpi/acpica/acparser.h
index 74a390c..0cdd2fc 100644
--- a/drivers/acpi/acpica/acparser.h
+++ b/drivers/acpi/acpica/acparser.h
@@ -70,6 +70,9 @@
  *
  *****************************************************************************/
 
+extern const u8 acpi_gbl_short_op_index[];
+extern const u8 acpi_gbl_long_op_index[];
+
 /*
  * psxface - Parser external interfaces
  */
diff --git a/drivers/acpi/acpica/psopinfo.c b/drivers/acpi/acpica/psopinfo.c
index 20e1a35..5831090 100644
--- a/drivers/acpi/acpica/psopinfo.c
+++ b/drivers/acpi/acpica/psopinfo.c
@@ -50,9 +50,6 @@
 #define _COMPONENT          ACPI_PARSER
 ACPI_MODULE_NAME("psopinfo")
 
-extern const u8 acpi_gbl_short_op_index[];
-extern const u8 acpi_gbl_long_op_index[];
-
 static const u8 acpi_gbl_argument_count[] =
     { 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 6 };
 
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 05/19] ACPICA: Parser: Move a couple externals to the proper header.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 7325b59c8b5d1522ded51ae6a76b804f6e8da5d2

Moved from a C module.

Link: https://github.com/acpica/acpica/commit/7325b59c
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acparser.h |    3 +++
 drivers/acpi/acpica/psopinfo.c |    3 ---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/acpica/acparser.h b/drivers/acpi/acpica/acparser.h
index 74a390c..0cdd2fc 100644
--- a/drivers/acpi/acpica/acparser.h
+++ b/drivers/acpi/acpica/acparser.h
@@ -70,6 +70,9 @@
  *
  *****************************************************************************/
 
+extern const u8 acpi_gbl_short_op_index[];
+extern const u8 acpi_gbl_long_op_index[];
+
 /*
  * psxface - Parser external interfaces
  */
diff --git a/drivers/acpi/acpica/psopinfo.c b/drivers/acpi/acpica/psopinfo.c
index 20e1a35..5831090 100644
--- a/drivers/acpi/acpica/psopinfo.c
+++ b/drivers/acpi/acpica/psopinfo.c
@@ -50,9 +50,6 @@
 #define _COMPONENT          ACPI_PARSER
 ACPI_MODULE_NAME("psopinfo")
 
-extern const u8 acpi_gbl_short_op_index[];
-extern const u8 acpi_gbl_long_op_index[];
-
 static const u8 acpi_gbl_argument_count[] =
     { 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 6 };
 
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 06/19] ACPICA: iASL: Enhance detection of non-ascii or corrupted input files.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 08170904011f1e8f817d9e3a9f2bb2438aeacf60

For the compiler part (not disassembler).
- Characters not within a comment must be be ASCII (0-0x7F), and
now either printable or a "space" character.
Provides better detection of files that cannot be compiled.

This patch only affects iASL which is not in the Linux upstream.

Link: https://github.com/acpica/acpica/commit/08170904
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acutils.h  |    2 +-
 drivers/acpi/acpica/utfileio.c |    7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
index 2b3c5bd..d49f5c7 100644
--- a/drivers/acpi/acpica/acutils.h
+++ b/drivers/acpi/acpica/acutils.h
@@ -251,7 +251,7 @@ extern const u8 _acpi_ctype[];
 #define _ACPI_DI     0x04	/* '0'-'9' */
 #define _ACPI_LO     0x02	/* 'a'-'z' */
 #define _ACPI_PU     0x10	/* punctuation */
-#define _ACPI_SP     0x08	/* space */
+#define _ACPI_SP     0x08	/* space, tab, CR, LF, VT, FF */
 #define _ACPI_UP     0x01	/* 'A'-'Z' */
 #define _ACPI_XD     0x80	/* '0'-'9', 'A'-'F', 'a'-'f' */
 
diff --git a/drivers/acpi/acpica/utfileio.c b/drivers/acpi/acpica/utfileio.c
index 7e1168b..f72c53c 100644
--- a/drivers/acpi/acpica/utfileio.c
+++ b/drivers/acpi/acpica/utfileio.c
@@ -198,11 +198,8 @@ acpi_ut_read_table(FILE * fp,
 			     table_header.length, file_size);
 
 #ifdef ACPI_ASL_COMPILER
-			status = fl_check_for_ascii(fp, NULL, FALSE);
-			if (ACPI_SUCCESS(status)) {
-				acpi_os_printf
-				    ("File appears to be ASCII only, must be binary\n");
-			}
+			acpi_os_printf("File is corrupt or is ASCII text -- "
+				       "it must be a binary file\n");
 #endif
 			return (AE_BAD_HEADER);
 		}
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 06/19] ACPICA: iASL: Enhance detection of non-ascii or corrupted input files.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 08170904011f1e8f817d9e3a9f2bb2438aeacf60

For the compiler part (not disassembler).
- Characters not within a comment must be be ASCII (0-0x7F), and
now either printable or a "space" character.
Provides better detection of files that cannot be compiled.

This patch only affects iASL which is not in the Linux upstream.

Link: https://github.com/acpica/acpica/commit/08170904
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acutils.h  |    2 +-
 drivers/acpi/acpica/utfileio.c |    7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
index 2b3c5bd..d49f5c7 100644
--- a/drivers/acpi/acpica/acutils.h
+++ b/drivers/acpi/acpica/acutils.h
@@ -251,7 +251,7 @@ extern const u8 _acpi_ctype[];
 #define _ACPI_DI     0x04	/* '0'-'9' */
 #define _ACPI_LO     0x02	/* 'a'-'z' */
 #define _ACPI_PU     0x10	/* punctuation */
-#define _ACPI_SP     0x08	/* space */
+#define _ACPI_SP     0x08	/* space, tab, CR, LF, VT, FF */
 #define _ACPI_UP     0x01	/* 'A'-'Z' */
 #define _ACPI_XD     0x80	/* '0'-'9', 'A'-'F', 'a'-'f' */
 
diff --git a/drivers/acpi/acpica/utfileio.c b/drivers/acpi/acpica/utfileio.c
index 7e1168b..f72c53c 100644
--- a/drivers/acpi/acpica/utfileio.c
+++ b/drivers/acpi/acpica/utfileio.c
@@ -198,11 +198,8 @@ acpi_ut_read_table(FILE * fp,
 			     table_header.length, file_size);
 
 #ifdef ACPI_ASL_COMPILER
-			status = fl_check_for_ascii(fp, NULL, FALSE);
-			if (ACPI_SUCCESS(status)) {
-				acpi_os_printf
-				    ("File appears to be ASCII only, must be binary\n");
-			}
+			acpi_os_printf("File is corrupt or is ASCII text -- "
+				       "it must be a binary file\n");
 #endif
 			return (AE_BAD_HEADER);
 		}
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 07/19] ACPICA: ACPI 6.0: Add support for WPBT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit a6ccb4033b49f7aa33a17ddc41dd69d57e799fbd

Windows Platform Binary Table.

Link: https://github.com/acpica/acpica/commit/a6ccb403
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl3.h |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index 3eed4c8..e1aac82 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -70,6 +70,7 @@
 #define ACPI_SIG_RASF           "RASF"	/* RAS Feature table */
 #define ACPI_SIG_STAO           "STAO"	/* Status Override table */
 #define ACPI_SIG_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface 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 */
@@ -79,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
@@ -732,6 +732,24 @@ struct acpi_tpm2_control {
 
 /*******************************************************************************
  *
+ * 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;
+};
+
+/*******************************************************************************
+ *
  * XENV - Xen Environment Table (ACPI 6.0)
  *        Version 1
  *
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 07/19] ACPICA: ACPI 6.0: Add support for WPBT table.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit a6ccb4033b49f7aa33a17ddc41dd69d57e799fbd

Windows Platform Binary Table.

Link: https://github.com/acpica/acpica/commit/a6ccb403
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl3.h |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index 3eed4c8..e1aac82 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -70,6 +70,7 @@
 #define ACPI_SIG_RASF           "RASF"	/* RAS Feature table */
 #define ACPI_SIG_STAO           "STAO"	/* Status Override table */
 #define ACPI_SIG_TPM2           "TPM2"	/* Trusted Platform Module 2.0 H/W interface 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 */
@@ -79,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
@@ -732,6 +732,24 @@ struct acpi_tpm2_control {
 
 /*******************************************************************************
  *
+ * 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;
+};
+
+/*******************************************************************************
+ *
  * XENV - Xen Environment Table (ACPI 6.0)
  *        Version 1
  *
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 08/19] ACPICA: ACPI 6.0: Add changes for FADT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 72b0b6741990f619f6aaa915302836b7cbb41ac4

One new 64-bit field at the end of the table.
FADT version is now 6.

Link: https://github.com/acpica/acpica/commit/72b0b674
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl.h |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
index d4081fe..cb8a6b9 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -284,6 +284,7 @@ struct acpi_table_fadt {
 	struct acpi_generic_address xgpe1_block;	/* 64-bit Extended General Purpose Event 1 Reg Blk address */
 	struct acpi_generic_address sleep_control;	/* 64-bit Sleep Control register (ACPI 5.0) */
 	struct acpi_generic_address sleep_status;	/* 64-bit Sleep Status register (ACPI 5.0) */
+	u64 hypervisor_id;	/* Hypervisor Vendor ID (ACPI 6.0) */
 };
 
 /* Masks for FADT IA-PC Boot Architecture Flags (boot_flags) [Vx]=Introduced in this FADT revision */
@@ -341,7 +342,7 @@ enum acpi_preferred_pm_profiles {
 	PM_TABLET = 8
 };
 
-/* Values for sleep_status and sleep_control registers (V5 FADT) */
+/* Values for sleep_status and sleep_control registers (V5+ FADT) */
 
 #define ACPI_X_WAKE_STATUS          0x80
 #define ACPI_X_SLEEP_TYPE_MASK      0x1C
@@ -398,15 +399,17 @@ struct acpi_table_desc {
  * FADT is the bottom line as to what the version really is.
  *
  * For reference, the values below are as follows:
- *     FADT V1  size: 0x074
- *     FADT V2  size: 0x084
- *     FADT V3  size: 0x0F4
- *     FADT V4  size: 0x0F4
- *     FADT V5  size: 0x10C
+ *     FADT V1 size: 0x074
+ *     FADT V2 size: 0x084
+ *     FADT V3 size: 0x0F4
+ *     FADT V4 size: 0x0F4
+ *     FADT V5 size: 0x10C
+ *     FADT V6 size: 0x114
  */
 #define ACPI_FADT_V1_SIZE       (u32) (ACPI_FADT_OFFSET (flags) + 4)
 #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) (sizeof (struct acpi_table_fadt))
+#define ACPI_FADT_V5_SIZE       (u32) (ACPI_FADT_OFFSET (hypervisor_id))
+#define ACPI_FADT_V6_SIZE       (u32) (sizeof (struct acpi_table_fadt))
 
 #endif				/* __ACTBL_H__ */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 08/19] ACPICA: ACPI 6.0: Add changes for FADT table.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 72b0b6741990f619f6aaa915302836b7cbb41ac4

One new 64-bit field at the end of the table.
FADT version is now 6.

Link: https://github.com/acpica/acpica/commit/72b0b674
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl.h |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
index d4081fe..cb8a6b9 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -284,6 +284,7 @@ struct acpi_table_fadt {
 	struct acpi_generic_address xgpe1_block;	/* 64-bit Extended General Purpose Event 1 Reg Blk address */
 	struct acpi_generic_address sleep_control;	/* 64-bit Sleep Control register (ACPI 5.0) */
 	struct acpi_generic_address sleep_status;	/* 64-bit Sleep Status register (ACPI 5.0) */
+	u64 hypervisor_id;	/* Hypervisor Vendor ID (ACPI 6.0) */
 };
 
 /* Masks for FADT IA-PC Boot Architecture Flags (boot_flags) [Vx]=Introduced in this FADT revision */
@@ -341,7 +342,7 @@ enum acpi_preferred_pm_profiles {
 	PM_TABLET = 8
 };
 
-/* Values for sleep_status and sleep_control registers (V5 FADT) */
+/* Values for sleep_status and sleep_control registers (V5+ FADT) */
 
 #define ACPI_X_WAKE_STATUS          0x80
 #define ACPI_X_SLEEP_TYPE_MASK      0x1C
@@ -398,15 +399,17 @@ struct acpi_table_desc {
  * FADT is the bottom line as to what the version really is.
  *
  * For reference, the values below are as follows:
- *     FADT V1  size: 0x074
- *     FADT V2  size: 0x084
- *     FADT V3  size: 0x0F4
- *     FADT V4  size: 0x0F4
- *     FADT V5  size: 0x10C
+ *     FADT V1 size: 0x074
+ *     FADT V2 size: 0x084
+ *     FADT V3 size: 0x0F4
+ *     FADT V4 size: 0x0F4
+ *     FADT V5 size: 0x10C
+ *     FADT V6 size: 0x114
  */
 #define ACPI_FADT_V1_SIZE       (u32) (ACPI_FADT_OFFSET (flags) + 4)
 #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) (sizeof (struct acpi_table_fadt))
+#define ACPI_FADT_V5_SIZE       (u32) (ACPI_FADT_OFFSET (hypervisor_id))
+#define ACPI_FADT_V6_SIZE       (u32) (sizeof (struct acpi_table_fadt))
 
 #endif				/* __ACTBL_H__ */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 09/19] ACPICA: ACPI 6.0: Add changes for LPIT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:30   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit d527908bb33a3ed515cfb349cbec57121deafcc8

Second subtable type was removed from the July 2014 LPIT
document.

Link: https://github.com/acpica/acpica/commit/d527908b
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl2.h |   20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index cafdeb5..93f85e8 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -824,7 +824,7 @@ struct acpi_ivrs_memory {
  *
  * LPIT - Low Power Idle Table
  *
- * Conforms to "ACPI Low Power Idle Table (LPIT) and _LPD Proposal (DRAFT)"
+ * Conforms to "ACPI Low Power Idle Table (LPIT)" July 2014.
  *
  ******************************************************************************/
 
@@ -846,8 +846,7 @@ struct acpi_lpit_header {
 
 enum acpi_lpit_type {
 	ACPI_LPIT_TYPE_NATIVE_CSTATE = 0x00,
-	ACPI_LPIT_TYPE_SIMPLE_IO = 0x01,
-	ACPI_LPIT_TYPE_RESERVED = 0x02	/* 2 and above are reserved */
+	ACPI_LPIT_TYPE_RESERVED = 0x01	/* 1 and above are reserved */
 };
 
 /* Masks for Flags field above  */
@@ -870,21 +869,6 @@ struct acpi_lpit_native {
 	u64 counter_frequency;
 };
 
-/* 0x01: Simple I/O based LPI structure */
-
-struct acpi_lpit_io {
-	struct acpi_lpit_header header;
-	struct acpi_generic_address entry_trigger;
-	u32 trigger_action;
-	u64 trigger_value;
-	u64 trigger_mask;
-	struct acpi_generic_address minimum_idle_state;
-	u32 residency;
-	u32 latency;
-	struct acpi_generic_address residency_counter;
-	u64 counter_frequency;
-};
-
 /*******************************************************************************
  *
  * MCFG - PCI Memory Mapped Configuration table and subtable
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 09/19] ACPICA: ACPI 6.0: Add changes for LPIT table.
@ 2015-05-21  2:30   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:30 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit d527908bb33a3ed515cfb349cbec57121deafcc8

Second subtable type was removed from the July 2014 LPIT
document.

Link: https://github.com/acpica/acpica/commit/d527908b
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/actbl2.h |   20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index cafdeb5..93f85e8 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -824,7 +824,7 @@ struct acpi_ivrs_memory {
  *
  * LPIT - Low Power Idle Table
  *
- * Conforms to "ACPI Low Power Idle Table (LPIT) and _LPD Proposal (DRAFT)"
+ * Conforms to "ACPI Low Power Idle Table (LPIT)" July 2014.
  *
  ******************************************************************************/
 
@@ -846,8 +846,7 @@ struct acpi_lpit_header {
 
 enum acpi_lpit_type {
 	ACPI_LPIT_TYPE_NATIVE_CSTATE = 0x00,
-	ACPI_LPIT_TYPE_SIMPLE_IO = 0x01,
-	ACPI_LPIT_TYPE_RESERVED = 0x02	/* 2 and above are reserved */
+	ACPI_LPIT_TYPE_RESERVED = 0x01	/* 1 and above are reserved */
 };
 
 /* Masks for Flags field above  */
@@ -870,21 +869,6 @@ struct acpi_lpit_native {
 	u64 counter_frequency;
 };
 
-/* 0x01: Simple I/O based LPI structure */
-
-struct acpi_lpit_io {
-	struct acpi_lpit_header header;
-	struct acpi_generic_address entry_trigger;
-	u32 trigger_action;
-	u64 trigger_value;
-	u64 trigger_mask;
-	struct acpi_generic_address minimum_idle_state;
-	u32 residency;
-	u32 latency;
-	struct acpi_generic_address residency_counter;
-	u64 counter_frequency;
-};
-
 /*******************************************************************************
  *
  * MCFG - PCI Memory Mapped Configuration table and subtable
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 10/19] ACPICA: Dispatcher: Fix a resource leak issue in acpi_ds_auto_serialize_method().
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 29d03840cbab435e8ea82e9339ff9d84535c647d

This patch fixes a resource leak issue in acpi_ds_auto_serialize_method().
It is reported by the "Coverity" tool as unsecure code. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/29d03840
Reference: https://jira01.devtools.intel.com/browse/LCK-2142
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 drivers/acpi/acpica/dsmethod.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c
index d72565a..85bb951 100644
--- a/drivers/acpi/acpica/dsmethod.c
+++ b/drivers/acpi/acpica/dsmethod.c
@@ -116,6 +116,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 	walk_state =
 	    acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL);
 	if (!walk_state) {
+		acpi_ps_free_op(op);
 		return_ACPI_STATUS(AE_NO_MEMORY);
 	}
 
@@ -125,6 +126,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 				  obj_desc->method.aml_length, NULL, 0);
 	if (ACPI_FAILURE(status)) {
 		acpi_ds_delete_walk_state(walk_state);
+		acpi_ps_free_op(op);
 		return_ACPI_STATUS(status);
 	}
 
@@ -133,9 +135,6 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 	/* Parse the method, scan for creation of named objects */
 
 	status = acpi_ps_parse_aml(walk_state);
-	if (ACPI_FAILURE(status)) {
-		return_ACPI_STATUS(status);
-	}
 
 	acpi_ps_delete_parse_tree(op);
 	return_ACPI_STATUS(status);
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 10/19] ACPICA: Dispatcher: Fix a resource leak issue in acpi_ds_auto_serialize_method().
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 29d03840cbab435e8ea82e9339ff9d84535c647d

This patch fixes a resource leak issue in acpi_ds_auto_serialize_method().
It is reported by the "Coverity" tool as unsecure code. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/29d03840
Reference: https://jira01.devtools.intel.com/browse/LCK-2142
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 drivers/acpi/acpica/dsmethod.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c
index d72565a..85bb951 100644
--- a/drivers/acpi/acpica/dsmethod.c
+++ b/drivers/acpi/acpica/dsmethod.c
@@ -116,6 +116,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 	walk_state =
 	    acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL);
 	if (!walk_state) {
+		acpi_ps_free_op(op);
 		return_ACPI_STATUS(AE_NO_MEMORY);
 	}
 
@@ -125,6 +126,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 				  obj_desc->method.aml_length, NULL, 0);
 	if (ACPI_FAILURE(status)) {
 		acpi_ds_delete_walk_state(walk_state);
+		acpi_ps_free_op(op);
 		return_ACPI_STATUS(status);
 	}
 
@@ -133,9 +135,6 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
 	/* Parse the method, scan for creation of named objects */
 
 	status = acpi_ps_parse_aml(walk_state);
-	if (ACPI_FAILURE(status)) {
-		return_ACPI_STATUS(status);
-	}
 
 	acpi_ps_delete_parse_tree(op);
 	return_ACPI_STATUS(status);
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 11/19] ACPICA: Hardware: Fix a resource leak issue in acpi_hw_build_pci_list().
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit e4f0b73c107680841d7dd01cc04ec108df6580bd

There is code in acpi_hw_build_pci_list() destructing returned object
(return_list_head) before touching it while the allocated new object
(list_head) is not tracked correctly to be destructed on the error case,
which is detected as unsecure code by the "Coverity" tool.

This patch fixes this issue by always intializing the returned object in
acpi_hw_build_pci_list() so that the caller of acpi_hw_build_pci_list() needn't
initialize it and always using the returned object to track the new
allocated objects. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/e4f0b73c
Reference: https://jira01.devtools.intel.com/browse/LCK-2143
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 drivers/acpi/acpica/hwpci.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/acpica/hwpci.c b/drivers/acpi/acpica/hwpci.c
index c5214de..f785ea7 100644
--- a/drivers/acpi/acpica/hwpci.c
+++ b/drivers/acpi/acpica/hwpci.c
@@ -123,7 +123,7 @@ acpi_hw_derive_pci_id(struct acpi_pci_id *pci_id,
 		      acpi_handle root_pci_device, acpi_handle pci_region)
 {
 	acpi_status status;
-	struct acpi_pci_device *list_head = NULL;
+	struct acpi_pci_device *list_head;
 
 	ACPI_FUNCTION_TRACE(hw_derive_pci_id);
 
@@ -177,13 +177,13 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 	acpi_handle parent_device;
 	acpi_status status;
 	struct acpi_pci_device *list_element;
-	struct acpi_pci_device *list_head = NULL;
 
 	/*
 	 * Ascend namespace branch until the root_pci_device is reached, building
 	 * a list of device nodes. Loop will exit when either the PCI device is
 	 * found, or the root of the namespace is reached.
 	 */
+	*return_list_head = NULL;
 	current_device = pci_region;
 	while (1) {
 		status = acpi_get_parent(current_device, &parent_device);
@@ -198,7 +198,6 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 		/* Finished when we reach the PCI root device (PNP0A03 or PNP0A08) */
 
 		if (parent_device == root_pci_device) {
-			*return_list_head = list_head;
 			return (AE_OK);
 		}
 
@@ -213,9 +212,9 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 
 		/* Put new element at the head of the list */
 
-		list_element->next = list_head;
+		list_element->next = *return_list_head;
 		list_element->device = parent_device;
-		list_head = list_element;
+		*return_list_head = list_element;
 
 		current_device = parent_device;
 	}
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 11/19] ACPICA: Hardware: Fix a resource leak issue in acpi_hw_build_pci_list().
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit e4f0b73c107680841d7dd01cc04ec108df6580bd

There is code in acpi_hw_build_pci_list() destructing returned object
(return_list_head) before touching it while the allocated new object
(list_head) is not tracked correctly to be destructed on the error case,
which is detected as unsecure code by the "Coverity" tool.

This patch fixes this issue by always intializing the returned object in
acpi_hw_build_pci_list() so that the caller of acpi_hw_build_pci_list() needn't
initialize it and always using the returned object to track the new
allocated objects. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/e4f0b73c
Reference: https://jira01.devtools.intel.com/browse/LCK-2143
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 drivers/acpi/acpica/hwpci.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/acpica/hwpci.c b/drivers/acpi/acpica/hwpci.c
index c5214de..f785ea7 100644
--- a/drivers/acpi/acpica/hwpci.c
+++ b/drivers/acpi/acpica/hwpci.c
@@ -123,7 +123,7 @@ acpi_hw_derive_pci_id(struct acpi_pci_id *pci_id,
 		      acpi_handle root_pci_device, acpi_handle pci_region)
 {
 	acpi_status status;
-	struct acpi_pci_device *list_head = NULL;
+	struct acpi_pci_device *list_head;
 
 	ACPI_FUNCTION_TRACE(hw_derive_pci_id);
 
@@ -177,13 +177,13 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 	acpi_handle parent_device;
 	acpi_status status;
 	struct acpi_pci_device *list_element;
-	struct acpi_pci_device *list_head = NULL;
 
 	/*
 	 * Ascend namespace branch until the root_pci_device is reached, building
 	 * a list of device nodes. Loop will exit when either the PCI device is
 	 * found, or the root of the namespace is reached.
 	 */
+	*return_list_head = NULL;
 	current_device = pci_region;
 	while (1) {
 		status = acpi_get_parent(current_device, &parent_device);
@@ -198,7 +198,6 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 		/* Finished when we reach the PCI root device (PNP0A03 or PNP0A08) */
 
 		if (parent_device == root_pci_device) {
-			*return_list_head = list_head;
 			return (AE_OK);
 		}
 
@@ -213,9 +212,9 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 
 		/* Put new element at the head of the list */
 
-		list_element->next = list_head;
+		list_element->next = *return_list_head;
 		list_element->device = parent_device;
-		list_head = list_element;
+		*return_list_head = list_element;
 
 		current_device = parent_device;
 	}
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

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>
---
 include/acpi/actbl1.h |   22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index b80b0e6..cadf21c 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -673,7 +673,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 */
 };
 
 /*
@@ -794,7 +795,7 @@ struct acpi_madt_local_x2apic_nmi {
 	u8 reserved[3];		/* reserved - must be zero */
 };
 
-/* 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;
@@ -811,6 +812,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 */
@@ -819,7 +822,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;
@@ -827,7 +830,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) */
@@ -855,6 +859,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
  */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

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>
---
 include/acpi/actbl1.h |   22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index b80b0e6..cadf21c 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -673,7 +673,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 */
 };
 
 /*
@@ -794,7 +795,7 @@ struct acpi_madt_local_x2apic_nmi {
 	u8 reserved[3];		/* reserved - must be zero */
 };
 
-/* 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;
@@ -811,6 +812,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 */
@@ -819,7 +822,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;
@@ -827,7 +830,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) */
@@ -855,6 +859,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
  */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 13/19] ACPICA: ACPI 6.0: Add ACPI_SUB_PTR().
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 5de82757aef5d6163e37064033aacbce193abbca

Using a minus number with ACPI_ADD_PTR() will cause compiler warnings, such
warnings cannot be eliminated by force casting an unsigned value to a
signed value. This patch thus introduces ACPI_SUB_PTR() to be used with
minus numbers. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/5de82757
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actypes.h |    1 +
 1 file changed, 1 insertion(+)

diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index a9d33e8..63fd7f5 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -525,6 +525,7 @@ typedef u64 acpi_integer;
 #define ACPI_CAST_PTR(t, p)             ((t *) (acpi_uintptr_t) (p))
 #define ACPI_CAST_INDIRECT_PTR(t, p)    ((t **) (acpi_uintptr_t) (p))
 #define ACPI_ADD_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (u8, (a)) + (acpi_size)(b)))
+#define ACPI_SUB_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (u8, (a)) - (acpi_size)(b)))
 #define ACPI_PTR_DIFF(a, b)             (acpi_size) (ACPI_CAST_PTR (u8, (a)) - ACPI_CAST_PTR (u8, (b)))
 
 /* Pointer/Integer type conversions */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 13/19] ACPICA: ACPI 6.0: Add ACPI_SUB_PTR().
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 5de82757aef5d6163e37064033aacbce193abbca

Using a minus number with ACPI_ADD_PTR() will cause compiler warnings, such
warnings cannot be eliminated by force casting an unsigned value to a
signed value. This patch thus introduces ACPI_SUB_PTR() to be used with
minus numbers. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/5de82757
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actypes.h |    1 +
 1 file changed, 1 insertion(+)

diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index a9d33e8..63fd7f5 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -525,6 +525,7 @@ typedef u64 acpi_integer;
 #define ACPI_CAST_PTR(t, p)             ((t *) (acpi_uintptr_t) (p))
 #define ACPI_CAST_INDIRECT_PTR(t, p)    ((t **) (acpi_uintptr_t) (p))
 #define ACPI_ADD_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (u8, (a)) + (acpi_size)(b)))
+#define ACPI_SUB_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (u8, (a)) - (acpi_size)(b)))
 #define ACPI_PTR_DIFF(a, b)             (acpi_size) (ACPI_CAST_PTR (u8, (a)) - ACPI_CAST_PTR (u8, (b)))
 
 /* Pointer/Integer type conversions */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 14/19] ACPICA: ACPI 6.0: Add support for IORT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 5de82757aef5d6163e37064033aacbce193abbca

This patch adds support for IORT (IO Remapping Table) in iasl.

Note that some field names are modified to shrink their length or the
decompiled IORT ASL will contain fields with ugly ":" alignment.

The IORT contains field definitions around "Memory Access Properties". This
patch also adds support to encode/decode it using inline table.

This patch doesn't add inline table support for the SMMU interrupt fields
due to a limitation in current ACPICA data table support. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/5de82757
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actbl2.h |  126 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 126 insertions(+)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 93f85e8..370d69d 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -69,6 +69,7 @@
 #define ACPI_SIG_DMAR           "DMAR"	/* DMA Remapping table */
 #define ACPI_SIG_HPET           "HPET"	/* High Precision Event Timer table */
 #define ACPI_SIG_IBFT           "IBFT"	/* iSCSI Boot Firmware Table */
+#define ACPI_SIG_IORT           "IORT"	/* IO Remapping Table */
 #define ACPI_SIG_IVRS           "IVRS"	/* I/O Virtualization Reporting Structure */
 #define ACPI_SIG_LPIT           "LPIT"	/* Low Power Idle Table */
 #define ACPI_SIG_MCFG           "MCFG"	/* PCI Memory Mapped Configuration table */
@@ -650,6 +651,131 @@ struct acpi_ibft_target {
 
 /*******************************************************************************
  *
+ * IORT - IO Remapping Table
+ *
+ * Conforms to "IO Remapping Table System Software on ARM Platforms",
+ * Document number: ARM DEN 0049A, 2015
+ *
+ ******************************************************************************/
+
+struct acpi_table_iort {
+	struct acpi_table_header header;
+	u32 node_count;
+	u32 node_offset;
+	u32 reserved;
+};
+
+/*
+ * IORT subtables
+ */
+struct acpi_iort_node {
+	u8 type;
+	u16 length;
+	u8 revision;
+	u32 reserved;
+	u32 mapping_count;
+	u32 mapping_offset;
+	char node_data[1];
+};
+
+/* Values for subtable Type above */
+
+enum acpi_iort_node_type {
+	ACPI_IORT_NODE_ITS_GROUP = 0x00,
+	ACPI_IORT_NODE_NAMED_COMPONENT = 0x01,
+	ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
+	ACPI_IORT_NODE_SMMU = 0x03
+};
+
+struct acpi_iort_id_mapping {
+	u32 input_base;		/* Lowest value in input range */
+	u32 id_count;		/* Number of IDs */
+	u32 output_base;	/* Lowest value in output range */
+	u32 output_reference;	/* A reference to the output node */
+	u32 flags;
+};
+
+/* Masks for Flags field above for IORT subtable */
+
+#define ACPI_IORT_ID_SINGLE_MAPPING (1)
+
+struct acpi_iort_memory_access {
+	u32 cache_coherency;
+	u8 hints;
+	u16 reserved;
+	u8 memory_flags;
+};
+
+/* Values for cache_coherency field above */
+
+#define ACPI_IORT_NODE_COHERENT         0x00000001	/* The device node is fully coherent */
+#define ACPI_IORT_NODE_NOT_COHERENT     0x00000000	/* The device node is not coherent */
+
+/* Masks for Hints field above */
+
+#define ACPI_IORT_HT_TRANSIENT          (1)
+#define ACPI_IORT_HT_WRITE              (1<<1)
+#define ACPI_IORT_HT_READ               (1<<2)
+#define ACPI_IORT_HT_OVERRIDE           (1<<3)
+
+/* Masks for memory_flags field above */
+
+#define ACPI_IORT_MF_COHERENCY          (1)
+#define ACPI_IORT_MF_ATTRIBUTES         (1<<1)
+
+/*
+ * IORT node specific subtables
+ */
+struct acpi_iort_its_group {
+	u32 its_count;
+	u32 identifiers[1];	/* GIC ITS identifier arrary */
+};
+
+struct acpi_iort_named_component {
+	u32 node_flags;
+	u64 memory_properties;	/* Memory access properties */
+	u8 memory_address_limit;	/* Memory address size limit */
+	char device_name[1];	/* Path of namespace object */
+};
+
+struct acpi_iort_root_complex {
+	u64 memory_properties;	/* Memory access properties */
+	u32 ats_attribute;
+	u32 pci_segment_number;
+};
+
+/* Values for ats_attribute field above */
+
+#define ACPI_IORT_ATS_SUPPORTED         0x00000001	/* The root complex supports ATS */
+#define ACPI_IORT_ATS_UNSUPPORTED       0x00000000	/* The root complex doesn't support ATS */
+
+struct acpi_iort_smmu {
+	u64 base_address;	/* SMMU base address */
+	u64 span;		/* Length of memory range */
+	u32 model;
+	u32 flags;
+	u32 global_interrupt_offset;
+	u32 context_interrupt_count;
+	u32 context_interrupt_offset;
+	u32 pmu_interrupt_count;
+	u32 pmu_interrupt_offset;
+	u64 interrupts[1];	/* Interrupt array */
+};
+
+/* Values for Model field above */
+
+#define ACPI_IORT_SMMU_V1               0x00000000	/* Generic SMMUv1 */
+#define ACPI_IORT_SMMU_V2               0x00000001	/* Generic SMMUv2 */
+#define ACPI_IORT_SMMU_CORELINK_MMU400  0x00000002	/* ARM Corelink MMU-400 */
+#define ACPI_IORT_SMMU_CORELINK_MMU500  0x00000003	/* ARM Corelink MMU-500 */
+
+/* Masks for Flags field above */
+
+#define ACPI_IORT_SMMU_DVM_SUPPORTED    (1)
+#define ACPI_IORT_SMMU_COHERENT_WALK    (1<<1)
+
+/*******************************************************************************
+ *
  * IVRS - I/O Virtualization Reporting Structure
  *        Version 1
  *
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 14/19] ACPICA: ACPI 6.0: Add support for IORT table.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit 5de82757aef5d6163e37064033aacbce193abbca

This patch adds support for IORT (IO Remapping Table) in iasl.

Note that some field names are modified to shrink their length or the
decompiled IORT ASL will contain fields with ugly ":" alignment.

The IORT contains field definitions around "Memory Access Properties". This
patch also adds support to encode/decode it using inline table.

This patch doesn't add inline table support for the SMMU interrupt fields
due to a limitation in current ACPICA data table support. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/5de82757
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actbl2.h |  126 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 126 insertions(+)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 93f85e8..370d69d 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -69,6 +69,7 @@
 #define ACPI_SIG_DMAR           "DMAR"	/* DMA Remapping table */
 #define ACPI_SIG_HPET           "HPET"	/* High Precision Event Timer table */
 #define ACPI_SIG_IBFT           "IBFT"	/* iSCSI Boot Firmware Table */
+#define ACPI_SIG_IORT           "IORT"	/* IO Remapping Table */
 #define ACPI_SIG_IVRS           "IVRS"	/* I/O Virtualization Reporting Structure */
 #define ACPI_SIG_LPIT           "LPIT"	/* Low Power Idle Table */
 #define ACPI_SIG_MCFG           "MCFG"	/* PCI Memory Mapped Configuration table */
@@ -650,6 +651,131 @@ struct acpi_ibft_target {
 
 /*******************************************************************************
  *
+ * IORT - IO Remapping Table
+ *
+ * Conforms to "IO Remapping Table System Software on ARM Platforms",
+ * Document number: ARM DEN 0049A, 2015
+ *
+ ******************************************************************************/
+
+struct acpi_table_iort {
+	struct acpi_table_header header;
+	u32 node_count;
+	u32 node_offset;
+	u32 reserved;
+};
+
+/*
+ * IORT subtables
+ */
+struct acpi_iort_node {
+	u8 type;
+	u16 length;
+	u8 revision;
+	u32 reserved;
+	u32 mapping_count;
+	u32 mapping_offset;
+	char node_data[1];
+};
+
+/* Values for subtable Type above */
+
+enum acpi_iort_node_type {
+	ACPI_IORT_NODE_ITS_GROUP = 0x00,
+	ACPI_IORT_NODE_NAMED_COMPONENT = 0x01,
+	ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
+	ACPI_IORT_NODE_SMMU = 0x03
+};
+
+struct acpi_iort_id_mapping {
+	u32 input_base;		/* Lowest value in input range */
+	u32 id_count;		/* Number of IDs */
+	u32 output_base;	/* Lowest value in output range */
+	u32 output_reference;	/* A reference to the output node */
+	u32 flags;
+};
+
+/* Masks for Flags field above for IORT subtable */
+
+#define ACPI_IORT_ID_SINGLE_MAPPING (1)
+
+struct acpi_iort_memory_access {
+	u32 cache_coherency;
+	u8 hints;
+	u16 reserved;
+	u8 memory_flags;
+};
+
+/* Values for cache_coherency field above */
+
+#define ACPI_IORT_NODE_COHERENT         0x00000001	/* The device node is fully coherent */
+#define ACPI_IORT_NODE_NOT_COHERENT     0x00000000	/* The device node is not coherent */
+
+/* Masks for Hints field above */
+
+#define ACPI_IORT_HT_TRANSIENT          (1)
+#define ACPI_IORT_HT_WRITE              (1<<1)
+#define ACPI_IORT_HT_READ               (1<<2)
+#define ACPI_IORT_HT_OVERRIDE           (1<<3)
+
+/* Masks for memory_flags field above */
+
+#define ACPI_IORT_MF_COHERENCY          (1)
+#define ACPI_IORT_MF_ATTRIBUTES         (1<<1)
+
+/*
+ * IORT node specific subtables
+ */
+struct acpi_iort_its_group {
+	u32 its_count;
+	u32 identifiers[1];	/* GIC ITS identifier arrary */
+};
+
+struct acpi_iort_named_component {
+	u32 node_flags;
+	u64 memory_properties;	/* Memory access properties */
+	u8 memory_address_limit;	/* Memory address size limit */
+	char device_name[1];	/* Path of namespace object */
+};
+
+struct acpi_iort_root_complex {
+	u64 memory_properties;	/* Memory access properties */
+	u32 ats_attribute;
+	u32 pci_segment_number;
+};
+
+/* Values for ats_attribute field above */
+
+#define ACPI_IORT_ATS_SUPPORTED         0x00000001	/* The root complex supports ATS */
+#define ACPI_IORT_ATS_UNSUPPORTED       0x00000000	/* The root complex doesn't support ATS */
+
+struct acpi_iort_smmu {
+	u64 base_address;	/* SMMU base address */
+	u64 span;		/* Length of memory range */
+	u32 model;
+	u32 flags;
+	u32 global_interrupt_offset;
+	u32 context_interrupt_count;
+	u32 context_interrupt_offset;
+	u32 pmu_interrupt_count;
+	u32 pmu_interrupt_offset;
+	u64 interrupts[1];	/* Interrupt array */
+};
+
+/* Values for Model field above */
+
+#define ACPI_IORT_SMMU_V1               0x00000000	/* Generic SMMUv1 */
+#define ACPI_IORT_SMMU_V2               0x00000001	/* Generic SMMUv2 */
+#define ACPI_IORT_SMMU_CORELINK_MMU400  0x00000002	/* ARM Corelink MMU-400 */
+#define ACPI_IORT_SMMU_CORELINK_MMU500  0x00000003	/* ARM Corelink MMU-500 */
+
+/* Masks for Flags field above */
+
+#define ACPI_IORT_SMMU_DVM_SUPPORTED    (1)
+#define ACPI_IORT_SMMU_COHERENT_WALK    (1<<1)
+
+/*******************************************************************************
+ *
  * IVRS - I/O Virtualization Reporting Structure
  *        Version 1
  *
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 15/19] ACPICA: ACPI 6.0: Add changes for DRTM table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit b02b754a2b7afcd0384cb3b31f29eb1be028fe90

This patch adds support for DRTM (Dynamic Root of Trust for Measurement
table) in iasl. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/b02b754a
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actbl3.h |   34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index e1aac82..4018986 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -119,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
  *
  ******************************************************************************/
 
@@ -135,22 +137,40 @@ struct acpi_table_drtm {
 	u32 flags;
 };
 
-/* 1) Validated Tables List */
+/* Flag Definitions for above */
 
-struct acpi_drtm_vtl_list {
-	u32 validated_table_list_count;
+#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_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];
 };
 
 /*******************************************************************************
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 15/19] ACPICA: ACPI 6.0: Add changes for DRTM table.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

ACPICA commit b02b754a2b7afcd0384cb3b31f29eb1be028fe90

This patch adds support for DRTM (Dynamic Root of Trust for Measurement
table) in iasl. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/b02b754a
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 include/acpi/actbl3.h |   34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index e1aac82..4018986 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -119,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
  *
  ******************************************************************************/
 
@@ -135,22 +137,40 @@ struct acpi_table_drtm {
 	u32 flags;
 };
 
-/* 1) Validated Tables List */
+/* Flag Definitions for above */
 
-struct acpi_drtm_vtl_list {
-	u32 validated_table_list_count;
+#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_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];
 };
 
 /*******************************************************************************
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 16/19] ACPICA: iASL/disassembler - fix possible fault for -e option.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 403b8b0023fd7549b2f9bf818fcc1ba481047b69

If non-AML files are used with the -e option, the disassembler
can fault. The fix is to ensure that all -e files are either
SSDTs or a DSDT. ACPICA BZ 1158.

Link: https://github.com/acpica/acpica/commit/403b8b00
Reference: https://bugs.acpica.org/show_bug.cgi?id=1158
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acdebug.h   |    4 +++-
 drivers/acpi/acpica/utfileio.c  |    2 +-
 drivers/acpi/acpica/utxferror.c |   11 +++++++++--
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/acpica/acdebug.h b/drivers/acpi/acpica/acdebug.h
index 4169bb8..43685dd 100644
--- a/drivers/acpi/acpica/acdebug.h
+++ b/drivers/acpi/acpica/acdebug.h
@@ -231,7 +231,9 @@ void acpi_db_open_debug_file(char *name);
 acpi_status acpi_db_load_acpi_table(char *filename);
 
 acpi_status
-acpi_db_get_table_from_file(char *filename, struct acpi_table_header **table);
+acpi_db_get_table_from_file(char *filename,
+			    struct acpi_table_header **table,
+			    u8 must_be_aml_table);
 
 /*
  * dbhistry - debugger HISTORY command
diff --git a/drivers/acpi/acpica/utfileio.c b/drivers/acpi/acpica/utfileio.c
index f72c53c..857af82 100644
--- a/drivers/acpi/acpica/utfileio.c
+++ b/drivers/acpi/acpica/utfileio.c
@@ -312,7 +312,7 @@ acpi_ut_read_table_from_file(char *filename, struct acpi_table_header ** table)
 	/* Get the entire file */
 
 	fprintf(stderr,
-		"Loading Acpi table from file %10s - Length %.8u (%06X)\n",
+		"Reading ACPI table from file %10s - Length %.8u (0x%06X)\n",
 		filename, file_size, file_size);
 
 	status = acpi_ut_read_table(file, table, &table_length);
diff --git a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c
index 306e785..98d5787 100644
--- a/drivers/acpi/acpica/utxferror.c
+++ b/drivers/acpi/acpica/utxferror.c
@@ -107,9 +107,16 @@ acpi_exception(const char *module_name,
 	va_list arg_list;
 
 	ACPI_MSG_REDIRECT_BEGIN;
-	acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ",
-		       acpi_format_exception(status));
 
+	/* For AE_OK, just print the message */
+
+	if (ACPI_SUCCESS(status)) {
+		acpi_os_printf(ACPI_MSG_EXCEPTION);
+
+	} else {
+		acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ",
+			       acpi_format_exception(status));
+	}
 	va_start(arg_list, format);
 	acpi_os_vprintf(format, arg_list);
 	ACPI_MSG_SUFFIX;
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 16/19] ACPICA: iASL/disassembler - fix possible fault for -e option.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 403b8b0023fd7549b2f9bf818fcc1ba481047b69

If non-AML files are used with the -e option, the disassembler
can fault. The fix is to ensure that all -e files are either
SSDTs or a DSDT. ACPICA BZ 1158.

Link: https://github.com/acpica/acpica/commit/403b8b00
Reference: https://bugs.acpica.org/show_bug.cgi?id=1158
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/acdebug.h   |    4 +++-
 drivers/acpi/acpica/utfileio.c  |    2 +-
 drivers/acpi/acpica/utxferror.c |   11 +++++++++--
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/acpica/acdebug.h b/drivers/acpi/acpica/acdebug.h
index 4169bb8..43685dd 100644
--- a/drivers/acpi/acpica/acdebug.h
+++ b/drivers/acpi/acpica/acdebug.h
@@ -231,7 +231,9 @@ void acpi_db_open_debug_file(char *name);
 acpi_status acpi_db_load_acpi_table(char *filename);
 
 acpi_status
-acpi_db_get_table_from_file(char *filename, struct acpi_table_header **table);
+acpi_db_get_table_from_file(char *filename,
+			    struct acpi_table_header **table,
+			    u8 must_be_aml_table);
 
 /*
  * dbhistry - debugger HISTORY command
diff --git a/drivers/acpi/acpica/utfileio.c b/drivers/acpi/acpica/utfileio.c
index f72c53c..857af82 100644
--- a/drivers/acpi/acpica/utfileio.c
+++ b/drivers/acpi/acpica/utfileio.c
@@ -312,7 +312,7 @@ acpi_ut_read_table_from_file(char *filename, struct acpi_table_header ** table)
 	/* Get the entire file */
 
 	fprintf(stderr,
-		"Loading Acpi table from file %10s - Length %.8u (%06X)\n",
+		"Reading ACPI table from file %10s - Length %.8u (0x%06X)\n",
 		filename, file_size, file_size);
 
 	status = acpi_ut_read_table(file, table, &table_length);
diff --git a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c
index 306e785..98d5787 100644
--- a/drivers/acpi/acpica/utxferror.c
+++ b/drivers/acpi/acpica/utxferror.c
@@ -107,9 +107,16 @@ acpi_exception(const char *module_name,
 	va_list arg_list;
 
 	ACPI_MSG_REDIRECT_BEGIN;
-	acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ",
-		       acpi_format_exception(status));
 
+	/* For AE_OK, just print the message */
+
+	if (ACPI_SUCCESS(status)) {
+		acpi_os_printf(ACPI_MSG_EXCEPTION);
+
+	} else {
+		acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ",
+			       acpi_format_exception(status));
+	}
 	va_start(arg_list, format);
 	acpi_os_vprintf(format, arg_list);
 	ACPI_MSG_SUFFIX;
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 17/19] ACPICA: acpi_help: Add option to display all known/supported ACPI tables.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit d6d003556c6fc22e067d5d511577128a661266c3

-t option displays all ACPI tables.

Link: https://github.com/acpica/acpica/commit/d6d00355
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/aclocal.h |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 3596958..ffdb956 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -1175,4 +1175,9 @@ struct ah_uuid {
 	char *string;
 };
 
+struct ah_table {
+	char *signature;
+	char *description;
+};
+
 #endif				/* __ACLOCAL_H__ */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 17/19] ACPICA: acpi_help: Add option to display all known/supported ACPI tables.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit d6d003556c6fc22e067d5d511577128a661266c3

-t option displays all ACPI tables.

Link: https://github.com/acpica/acpica/commit/d6d00355
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/aclocal.h |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 3596958..ffdb956 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -1175,4 +1175,9 @@ struct ah_uuid {
 	char *string;
 };
 
+struct ah_table {
+	char *signature;
+	char *description;
+};
+
 #endif				/* __ACLOCAL_H__ */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:31   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit e4e17ca361373e9b81494bb4ca697a12cef3cba6

NVDIMM Firmware Interface Table.

Link: https://github.com/acpica/acpica/commit/e4e17ca3
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/uthex.c |    4 +-
 include/acpi/actbl1.h       |  154 +++++++++++++++++++++++++++++++++++++++++++
 include/acpi/acuuid.h       |   64 ++++++++++++++++++
 3 files changed, 220 insertions(+), 2 deletions(-)
 create mode 100644 include/acpi/acuuid.h

diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
index aa44827..fda8b3d 100644
--- a/drivers/acpi/acpica/uthex.c
+++ b/drivers/acpi/acpica/uthex.c
@@ -75,9 +75,9 @@ char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
 
 /*******************************************************************************
  *
- * FUNCTION:    acpi_ut_hex_char_to_value
+ * FUNCTION:    acpi_ut_ascii_char_to_hex
  *
- * PARAMETERS:  ascii_char            - Hex character in Ascii
+ * PARAMETERS:  hex_char                - Hex character in Ascii
  *
  * RETURN:      The binary value of the ascii/hex character
  *
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index cadf21c..06b61f0 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -71,6 +71,7 @@
 #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */
 #define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance Information Table */
 #define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity Table */
+#define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface Table */
 
 /*
  * All tables must be byte-packed to match the ACPI specification, since
@@ -922,6 +923,159 @@ struct acpi_msct_proximity {
 
 /*******************************************************************************
  *
+ * NFIT - NVDIMM Interface Table (ACPI 6.0)
+ *        Version 1
+ *
+ ******************************************************************************/
+
+struct acpi_table_nfit {
+	struct acpi_table_header header;	/* Common ACPI table header */
+	u32 reserved;		/* Reserved, must be zero */
+};
+
+/* Subtable header for NFIT */
+
+struct acpi_nfit_header {
+	u16 type;
+	u16 length;
+};
+
+/* Values for subtable type in struct acpi_nfit_header */
+
+enum acpi_nfit_type {
+	ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0,
+	ACPI_NFIT_TYPE_MEMORY_MAP = 1,
+	ACPI_NFIT_TYPE_INTERLEAVE = 2,
+	ACPI_NFIT_TYPE_SMBIOS = 3,
+	ACPI_NFIT_TYPE_CONTROL_REGION = 4,
+	ACPI_NFIT_TYPE_DATA_REGION = 5,
+	ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6,
+	ACPI_NFIT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
+};
+
+/*
+ * NFIT Subtables
+ */
+
+/* 0: System Physical Address Range Structure */
+
+struct acpi_nfit_system_address {
+	struct acpi_nfit_header header;
+	u16 range_index;
+	u16 flags;
+	u32 reserved;		/* Reseved, must be zero */
+	u32 proximity_domain;
+	u8 range_guid[16];
+	u64 address;
+	u64 length;
+	u64 memory_mapping;
+};
+
+/* Flags */
+
+#define ACPI_NFIT_ADD_ONLINE_ONLY       (1)	/* 00: Add/Online Operation Only */
+#define ACPI_NFIT_PROXIMITY_VALID       (1<<1)	/* 01: Proximity Domain Valid */
+
+/* Range Type GUIDs appear in the include/acuuid.h file */
+
+/* 1: Memory Device to System Address Range Map Structure */
+
+struct acpi_nfit_memory_map {
+	struct acpi_nfit_header header;
+	u32 device_handle;
+	u16 physical_id;
+	u16 region_id;
+	u16 range_index;
+	u16 region_index;
+	u64 region_size;
+	u64 region_offset;
+	u64 address;
+	u16 interleave_index;
+	u16 interleave_ways;
+	u16 flags;
+	u16 reserved;		/* Reserved, must be zero */
+};
+
+/* Flags */
+
+#define ACPI_NFIT_MEM_SAVE_FAILED       (1)	/* 00: Last SAVE to Memory Device failed */
+#define ACPI_NFIT_MEM_RESTORE_FAILED    (1<<1)	/* 01: Last RESTORE from Memory Device failed */
+#define ACPI_NFIT_MEM_FLUSH_FAILED      (1<<2)	/* 02: Platform flush failed */
+#define ACPI_NFIT_MEM_ARMED             (1<<3)	/* 03: Memory Device observed to be not armed */
+#define ACPI_NFIT_MEM_HEALTH_OBSERVED   (1<<4)	/* 04: Memory Device observed SMART/health events */
+#define ACPI_NFIT_MEM_HEALTH_ENABLED    (1<<5)	/* 05: SMART/health events enabled */
+
+/* 2: Interleave Structure */
+
+struct acpi_nfit_interleave {
+	struct acpi_nfit_header header;
+	u16 interleave_index;
+	u16 reserved;		/* Reserved, must be zero */
+	u32 line_count;
+	u32 line_size;
+	u32 line_offset[1];	/* Variable length */
+};
+
+/* 3: SMBIOS Management Information Structure */
+
+struct acpi_nfit_smbios {
+	struct acpi_nfit_header header;
+	u32 reserved;		/* Reserved, must be zero */
+	u8 data[1];		/* Variable length */
+};
+
+/* 4: NVDIMM Control Region Structure */
+
+struct acpi_nfit_control_region {
+	struct acpi_nfit_header header;
+	u16 region_index;
+	u16 vendor_id;
+	u16 device_id;
+	u16 revision_id;
+	u16 subsystem_vendor_id;
+	u16 subsystem_device_id;
+	u16 subsystem_revision_id;
+	u8 reserved[6];		/* Reserved, must be zero */
+	u32 serial_number;
+	u16 code;
+	u16 windows;
+	u64 window_size;
+	u64 command_offset;
+	u64 command_size;
+	u64 status_offset;
+	u64 status_size;
+	u16 flags;
+	u8 reserved1[6];	/* Reserved, must be zero */
+};
+
+/* Flags */
+
+#define ACPI_NFIT_CONTROL_BUFFERED      (1)	/* Block Data Windows implementation is buffered */
+
+/* 5: NVDIMM Block Data Window Region Structure */
+
+struct acpi_nfit_data_region {
+	struct acpi_nfit_header header;
+	u16 region_index;
+	u16 windows;
+	u64 offset;
+	u64 size;
+	u64 capacity;
+	u64 start_address;
+};
+
+/* 6: Flush Hint Address Structure */
+
+struct acpi_nfit_flush_address {
+	struct acpi_nfit_header header;
+	u32 device_handle;
+	u16 hint_count;
+	u8 reserved[6];		/* Reserved, must be zero */
+	u64 hint_address[1];	/* Variable length */
+};
+
+/*******************************************************************************
+ *
  * SBST - Smart Battery Specification Table
  *        Version 1
  *
diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
new file mode 100644
index 0000000..4955d5e
--- /dev/null
+++ b/include/acpi/acuuid.h
@@ -0,0 +1,64 @@
+/******************************************************************************
+ *
+ * Name: acuuid.h - ACPI-related UUID/GUID definitions
+ *
+ *****************************************************************************/
+
+/*
+ * Copyright (C) 2000 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions, and the following disclaimer,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    substantially similar to the "NO WARRANTY" disclaimer below
+ *    ("Disclaimer") and any redistribution must be conditioned upon
+ *    including a substantially similar Disclaimer requirement for further
+ *    binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ */
+
+#ifndef __ACUUID_H__
+#define __ACUUID_H__
+
+/*
+ * Note1: UUIDs and GUIDs are defined to be identical in ACPI.
+ *
+ * Note2: This file is standalone and should remain that way.
+ */
+
+/* NFIT/NVDIMM */
+
+#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
+#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
+#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
+#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
+#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"
+
+#endif				/* __AUUID_H__ */
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
@ 2015-05-21  2:31   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit e4e17ca361373e9b81494bb4ca697a12cef3cba6

NVDIMM Firmware Interface Table.

Link: https://github.com/acpica/acpica/commit/e4e17ca3
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 drivers/acpi/acpica/uthex.c |    4 +-
 include/acpi/actbl1.h       |  154 +++++++++++++++++++++++++++++++++++++++++++
 include/acpi/acuuid.h       |   64 ++++++++++++++++++
 3 files changed, 220 insertions(+), 2 deletions(-)
 create mode 100644 include/acpi/acuuid.h

diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
index aa44827..fda8b3d 100644
--- a/drivers/acpi/acpica/uthex.c
+++ b/drivers/acpi/acpica/uthex.c
@@ -75,9 +75,9 @@ char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
 
 /*******************************************************************************
  *
- * FUNCTION:    acpi_ut_hex_char_to_value
+ * FUNCTION:    acpi_ut_ascii_char_to_hex
  *
- * PARAMETERS:  ascii_char            - Hex character in Ascii
+ * PARAMETERS:  hex_char                - Hex character in Ascii
  *
  * RETURN:      The binary value of the ascii/hex character
  *
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index cadf21c..06b61f0 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -71,6 +71,7 @@
 #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */
 #define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance Information Table */
 #define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity Table */
+#define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface Table */
 
 /*
  * All tables must be byte-packed to match the ACPI specification, since
@@ -922,6 +923,159 @@ struct acpi_msct_proximity {
 
 /*******************************************************************************
  *
+ * NFIT - NVDIMM Interface Table (ACPI 6.0)
+ *        Version 1
+ *
+ ******************************************************************************/
+
+struct acpi_table_nfit {
+	struct acpi_table_header header;	/* Common ACPI table header */
+	u32 reserved;		/* Reserved, must be zero */
+};
+
+/* Subtable header for NFIT */
+
+struct acpi_nfit_header {
+	u16 type;
+	u16 length;
+};
+
+/* Values for subtable type in struct acpi_nfit_header */
+
+enum acpi_nfit_type {
+	ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0,
+	ACPI_NFIT_TYPE_MEMORY_MAP = 1,
+	ACPI_NFIT_TYPE_INTERLEAVE = 2,
+	ACPI_NFIT_TYPE_SMBIOS = 3,
+	ACPI_NFIT_TYPE_CONTROL_REGION = 4,
+	ACPI_NFIT_TYPE_DATA_REGION = 5,
+	ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6,
+	ACPI_NFIT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
+};
+
+/*
+ * NFIT Subtables
+ */
+
+/* 0: System Physical Address Range Structure */
+
+struct acpi_nfit_system_address {
+	struct acpi_nfit_header header;
+	u16 range_index;
+	u16 flags;
+	u32 reserved;		/* Reseved, must be zero */
+	u32 proximity_domain;
+	u8 range_guid[16];
+	u64 address;
+	u64 length;
+	u64 memory_mapping;
+};
+
+/* Flags */
+
+#define ACPI_NFIT_ADD_ONLINE_ONLY       (1)	/* 00: Add/Online Operation Only */
+#define ACPI_NFIT_PROXIMITY_VALID       (1<<1)	/* 01: Proximity Domain Valid */
+
+/* Range Type GUIDs appear in the include/acuuid.h file */
+
+/* 1: Memory Device to System Address Range Map Structure */
+
+struct acpi_nfit_memory_map {
+	struct acpi_nfit_header header;
+	u32 device_handle;
+	u16 physical_id;
+	u16 region_id;
+	u16 range_index;
+	u16 region_index;
+	u64 region_size;
+	u64 region_offset;
+	u64 address;
+	u16 interleave_index;
+	u16 interleave_ways;
+	u16 flags;
+	u16 reserved;		/* Reserved, must be zero */
+};
+
+/* Flags */
+
+#define ACPI_NFIT_MEM_SAVE_FAILED       (1)	/* 00: Last SAVE to Memory Device failed */
+#define ACPI_NFIT_MEM_RESTORE_FAILED    (1<<1)	/* 01: Last RESTORE from Memory Device failed */
+#define ACPI_NFIT_MEM_FLUSH_FAILED      (1<<2)	/* 02: Platform flush failed */
+#define ACPI_NFIT_MEM_ARMED             (1<<3)	/* 03: Memory Device observed to be not armed */
+#define ACPI_NFIT_MEM_HEALTH_OBSERVED   (1<<4)	/* 04: Memory Device observed SMART/health events */
+#define ACPI_NFIT_MEM_HEALTH_ENABLED    (1<<5)	/* 05: SMART/health events enabled */
+
+/* 2: Interleave Structure */
+
+struct acpi_nfit_interleave {
+	struct acpi_nfit_header header;
+	u16 interleave_index;
+	u16 reserved;		/* Reserved, must be zero */
+	u32 line_count;
+	u32 line_size;
+	u32 line_offset[1];	/* Variable length */
+};
+
+/* 3: SMBIOS Management Information Structure */
+
+struct acpi_nfit_smbios {
+	struct acpi_nfit_header header;
+	u32 reserved;		/* Reserved, must be zero */
+	u8 data[1];		/* Variable length */
+};
+
+/* 4: NVDIMM Control Region Structure */
+
+struct acpi_nfit_control_region {
+	struct acpi_nfit_header header;
+	u16 region_index;
+	u16 vendor_id;
+	u16 device_id;
+	u16 revision_id;
+	u16 subsystem_vendor_id;
+	u16 subsystem_device_id;
+	u16 subsystem_revision_id;
+	u8 reserved[6];		/* Reserved, must be zero */
+	u32 serial_number;
+	u16 code;
+	u16 windows;
+	u64 window_size;
+	u64 command_offset;
+	u64 command_size;
+	u64 status_offset;
+	u64 status_size;
+	u16 flags;
+	u8 reserved1[6];	/* Reserved, must be zero */
+};
+
+/* Flags */
+
+#define ACPI_NFIT_CONTROL_BUFFERED      (1)	/* Block Data Windows implementation is buffered */
+
+/* 5: NVDIMM Block Data Window Region Structure */
+
+struct acpi_nfit_data_region {
+	struct acpi_nfit_header header;
+	u16 region_index;
+	u16 windows;
+	u64 offset;
+	u64 size;
+	u64 capacity;
+	u64 start_address;
+};
+
+/* 6: Flush Hint Address Structure */
+
+struct acpi_nfit_flush_address {
+	struct acpi_nfit_header header;
+	u32 device_handle;
+	u16 hint_count;
+	u8 reserved[6];		/* Reserved, must be zero */
+	u64 hint_address[1];	/* Variable length */
+};
+
+/*******************************************************************************
+ *
  * SBST - Smart Battery Specification Table
  *        Version 1
  *
diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
new file mode 100644
index 0000000..4955d5e
--- /dev/null
+++ b/include/acpi/acuuid.h
@@ -0,0 +1,64 @@
+/******************************************************************************
+ *
+ * Name: acuuid.h - ACPI-related UUID/GUID definitions
+ *
+ *****************************************************************************/
+
+/*
+ * Copyright (C) 2000 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions, and the following disclaimer,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    substantially similar to the "NO WARRANTY" disclaimer below
+ *    ("Disclaimer") and any redistribution must be conditioned upon
+ *    including a substantially similar Disclaimer requirement for further
+ *    binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ */
+
+#ifndef __ACUUID_H__
+#define __ACUUID_H__
+
+/*
+ * Note1: UUIDs and GUIDs are defined to be identical in ACPI.
+ *
+ * Note2: This file is standalone and should remain that way.
+ */
+
+/* NFIT/NVDIMM */
+
+#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
+#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
+#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
+#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
+#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"
+
+#endif				/* __AUUID_H__ */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 19/19] ACPICA: Update version to 20150515.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-21  2:32   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:32 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit ed4de2e8b0a5dd6fc17773a055590bff0e995588

Version 20150515.

Link: https://github.com/acpica/acpica/commit/ed4de2e8
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acpixf.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 08ef57b..d68f1cd 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -46,7 +46,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20150410
+#define ACPI_CA_VERSION                 0x20150515
 
 #include <acpi/acconfig.h>
 #include <acpi/actypes.h>
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 19/19] ACPICA: Update version to 20150515.
@ 2015-05-21  2:32   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-21  2:32 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit ed4de2e8b0a5dd6fc17773a055590bff0e995588

Version 20150515.

Link: https://github.com/acpica/acpica/commit/ed4de2e8
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acpixf.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 08ef57b..d68f1cd 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -46,7 +46,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20150410
+#define ACPI_CA_VERSION                 0x20150515
 
 #include <acpi/acconfig.h>
 #include <acpi/actypes.h>
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
  2015-05-21  2:31   ` Lv Zheng
@ 2015-05-21 14:36     ` Hanjun Guo
  -1 siblings, 0 replies; 59+ messages in thread
From: Hanjun Guo @ 2015-05-21 14:36 UTC (permalink / raw)
  To: Lv Zheng, Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, linux-kernel, linux-acpi, Bob Moore

Hi Lv,

On 2015年05月21日 10:31, Lv Zheng wrote:
> 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>
> ---
[...]
>
>   /* Masks for Flags field above */
> @@ -819,7 +822,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;
> @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
>   	u32 gic_id;
>   	u64 base_address;
>   	u32 global_irq_base;
> -	u32 reserved2;		/* reserved - must be zero */
> +	u8 version;

version filed in generic distributor has following values,

/* Values for gic_version in Generic Distributor  (ACPI 6.0) */

enum acpi_madt_gic_ver_type
{
         ACPI_MADT_GIC_VER_UNKNOWN       = 0,
         ACPI_MADT_GIC_VER_V1            = 1,
         ACPI_MADT_GIC_VER_V2            = 2,
         ACPI_MADT_GIC_VER_V3            = 3,
         ACPI_MADT_GIC_VER_V4            = 4,
         ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are 
reserved */
};

should we put it here, or locate it to ARM64 arch related head
file?

Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
@ 2015-05-21 14:36     ` Hanjun Guo
  0 siblings, 0 replies; 59+ messages in thread
From: Hanjun Guo @ 2015-05-21 14:36 UTC (permalink / raw)
  To: Lv Zheng, Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, linux-kernel, linux-acpi, Bob Moore

Hi Lv,

On 2015年05月21日 10:31, Lv Zheng wrote:
> 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>
> ---
[...]
>
>   /* Masks for Flags field above */
> @@ -819,7 +822,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;
> @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
>   	u32 gic_id;
>   	u64 base_address;
>   	u32 global_irq_base;
> -	u32 reserved2;		/* reserved - must be zero */
> +	u8 version;

version filed in generic distributor has following values,

/* Values for gic_version in Generic Distributor  (ACPI 6.0) */

enum acpi_madt_gic_ver_type
{
         ACPI_MADT_GIC_VER_UNKNOWN       = 0,
         ACPI_MADT_GIC_VER_V1            = 1,
         ACPI_MADT_GIC_VER_V2            = 2,
         ACPI_MADT_GIC_VER_V3            = 3,
         ACPI_MADT_GIC_VER_V4            = 4,
         ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are 
reserved */
};

should we put it here, or locate it to ARM64 arch related head
file?

Thanks
Hanjun

^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
  2015-05-21 14:36     ` Hanjun Guo
@ 2015-05-22  0:16       ` Zheng, Lv
  -1 siblings, 0 replies; 59+ messages in thread
From: Zheng, Lv @ 2015-05-22  0:16 UTC (permalink / raw)
  To: Hanjun Guo, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi, Moore, Robert

Hi,

> From: Hanjun Guo [mailto:hanjun.guo@linaro.org]
> Sent: Thursday, May 21, 2015 10:36 PM
> 
> Hi Lv,
> 
> On 2015年05月21日 10:31, Lv Zheng wrote:
> > 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>
> > ---
> [...]
> >
> >   /* Masks for Flags field above */
> > @@ -819,7 +822,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;
> > @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
> >   	u32 gic_id;
> >   	u64 base_address;
> >   	u32 global_irq_base;
> > -	u32 reserved2;		/* reserved - must be zero */
> > +	u8 version;
> 
> version filed in generic distributor has following values,
> 
> /* Values for gic_version in Generic Distributor  (ACPI 6.0) */
> 
> enum acpi_madt_gic_ver_type
> {
>          ACPI_MADT_GIC_VER_UNKNOWN       = 0,
>          ACPI_MADT_GIC_VER_V1            = 1,
>          ACPI_MADT_GIC_VER_V2            = 2,
>          ACPI_MADT_GIC_VER_V3            = 3,
>          ACPI_MADT_GIC_VER_V4            = 4,
>          ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are
> reserved */
> };
> 
> should we put it here, or locate it to ARM64 arch related head
> file?

Yes, you can put it here.
And also please help to submit an ACPICA patch to <devel@acpica.org>.

Thanks and best regards
-Lv


> 
> Thanks
> Hanjun

^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
@ 2015-05-22  0:16       ` Zheng, Lv
  0 siblings, 0 replies; 59+ messages in thread
From: Zheng, Lv @ 2015-05-22  0:16 UTC (permalink / raw)
  To: Hanjun Guo, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi, Moore, Robert

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2099 bytes --]

Hi,

> From: Hanjun Guo [mailto:hanjun.guo@linaro.org]
> Sent: Thursday, May 21, 2015 10:36 PM
> 
> Hi Lv,
> 
> On 2015年05月21日 10:31, Lv Zheng wrote:
> > 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>
> > ---
> [...]
> >
> >   /* Masks for Flags field above */
> > @@ -819,7 +822,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;
> > @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
> >   	u32 gic_id;
> >   	u64 base_address;
> >   	u32 global_irq_base;
> > -	u32 reserved2;		/* reserved - must be zero */
> > +	u8 version;
> 
> version filed in generic distributor has following values,
> 
> /* Values for gic_version in Generic Distributor  (ACPI 6.0) */
> 
> enum acpi_madt_gic_ver_type
> {
>          ACPI_MADT_GIC_VER_UNKNOWN       = 0,
>          ACPI_MADT_GIC_VER_V1            = 1,
>          ACPI_MADT_GIC_VER_V2            = 2,
>          ACPI_MADT_GIC_VER_V3            = 3,
>          ACPI_MADT_GIC_VER_V4            = 4,
>          ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are
> reserved */
> };
> 
> should we put it here, or locate it to ARM64 arch related head
> file?

Yes, you can put it here.
And also please help to submit an ACPICA patch to <devel@acpica.org>.

Thanks and best regards
-Lv


> 
> Thanks
> Hanjun
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 00/19] ACPICA: 20150515 Release
  2015-05-21  2:29 ` Lv Zheng
                   ` (19 preceding siblings ...)
  (?)
@ 2015-05-22  2:06 ` Rafael J. Wysocki
  -1 siblings, 0 replies; 59+ messages in thread
From: Rafael J. Wysocki @ 2015-05-22  2:06 UTC (permalink / raw)
  To: Lv Zheng; +Cc: Rafael J. Wysocki, Len Brown, Lv Zheng, linux-kernel, linux-acpi

On Thursday, May 21, 2015 10:29:57 AM Lv Zheng wrote:
> The 20150515 ACPICA kernel-resident subsystem updates are linuxized based
> on the linux-pm/linux-next branch.
> 
> The patchset has passed the following build/boot tests.
> Build tests are performed as follows:
> 1. i386 + default + COFNIG_ACPI=y
> 2. i386 + allyes + CONFIG_ACPI=y
> 3. i386 + default + COFNIG_ACPI=n
> 4. i386 + allyes + CONFIG_ACPI=n
> 5. x86_64 + default + COFNIG_ACPI=y
> 6. x86_64 + allyes + CONFIG_ACPI=y
> 7. x86_64 + default + COFNIG_ACPI=n
> 8. x86_64 + allyes + CONFIG_ACPI=n
> Boot tests are performed as follows:
> 1. i386 + default + COFNIG_ACPI=y
> 2. x86_64 + default + COFNIG_ACPI=y
> Where:
> 1. i386: machine named as "Dell Inspiron Mini 1010"
> 2. x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
> 3. default: kernel configuration with following items enabled:
>    All hardware drivers related to the machines of i386/x86_64
>    All drivers/acpi configurations
>    All platform drivers
> 
> The divergences checking result:
> Before applying (20150410 Release):
>   531 lines
> After applying (20150515 Release):
>   565 lines
> (Increased due to _REV reversion).
> 
> Bob Moore (14):
>   ACPICA: Additional dragon_fly BSD support.
>   ACPICA: ACPI 6.0: Add support for STAO table.
>   ACPICA: ACPI 6.0: Add support for new predefined names.
>   ACPICA: ACPI 6.0: Add support for XENV table.
>   ACPICA: Parser: Move a couple externals to the proper header.
>   ACPICA: iASL: Enhance detection of non-ascii or corrupted input
>     files.
>   ACPICA: ACPI 6.0: Add support for WPBT table.
>   ACPICA: ACPI 6.0: Add changes for FADT table.
>   ACPICA: ACPI 6.0: Add changes for LPIT table.
>   ACPICA: ACPI 6.0: Add changes for MADT table.
>   ACPICA: iASL/disassembler - fix possible fault for -e option.
>   ACPICA: acpi_help: Add option to display all known/supported ACPI
>     tables.
>   ACPICA: ACPI 6.0: Add support for NFIT table.
>   ACPICA: Update version to 20150515.
> 
> Lv Zheng (5):
>   ACPICA: Dispatcher: Fix a resource leak issue in
>     acpi_ds_auto_serialize_method().
>   ACPICA: Hardware: Fix a resource leak issue in
>     acpi_hw_build_pci_list().
>   ACPICA: ACPI 6.0: Add ACPI_SUB_PTR().
>   ACPICA: ACPI 6.0: Add support for IORT table.
>   ACPICA: ACPI 6.0: Add changes for DRTM table.
> 
>  drivers/acpi/acpica/acdebug.h   |    4 +-
>  drivers/acpi/acpica/aclocal.h   |   15 ++++
>  drivers/acpi/acpica/acparser.h  |    3 +
>  drivers/acpi/acpica/acpredef.h  |   45 +++++++++-
>  drivers/acpi/acpica/acutils.h   |    2 +-
>  drivers/acpi/acpica/dsmethod.c  |    5 +-
>  drivers/acpi/acpica/hwpci.c     |    9 +-
>  drivers/acpi/acpica/nsprepkg.c  |   13 +++
>  drivers/acpi/acpica/nsrepair.c  |    2 +-
>  drivers/acpi/acpica/psopinfo.c  |    3 -
>  drivers/acpi/acpica/utfileio.c  |    9 +-
>  drivers/acpi/acpica/uthex.c     |    4 +-
>  drivers/acpi/acpica/utxferror.c |   11 ++-
>  include/acpi/acpixf.h           |    2 +-
>  include/acpi/actbl.h            |   17 ++--
>  include/acpi/actbl1.h           |  176 ++++++++++++++++++++++++++++++++++++++-
>  include/acpi/actbl2.h           |  146 ++++++++++++++++++++++++++++----
>  include/acpi/actbl3.h           |   88 ++++++++++++++++++--
>  include/acpi/actypes.h          |    1 +
>  include/acpi/acuuid.h           |   64 ++++++++++++++
>  include/acpi/platform/acenv.h   |    3 +
>  include/acpi/platform/acenvex.h |    3 +
>  22 files changed, 560 insertions(+), 65 deletions(-)
>  create mode 100644 include/acpi/acuuid.h

All queued up for 4.2, thanks!


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-21  2:31   ` Lv Zheng
  (?)
@ 2015-05-22 15:17   ` Linda Knippers
  2015-05-22 15:28     ` Moore, Robert
  2015-05-22 16:12     ` Moore, Robert
  -1 siblings, 2 replies; 59+ messages in thread
From: Linda Knippers @ 2015-05-22 15:17 UTC (permalink / raw)
  To: Lv Zheng, Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, linux-kernel, linux-acpi, Bob Moore

On 5/20/2015 10:31 PM, Lv Zheng wrote:
> From: Bob Moore <robert.moore@intel.com>
> 
> ACPICA commit e4e17ca361373e9b81494bb4ca697a12cef3cba6
> 
> NVDIMM Firmware Interface Table.
> 
> Link: https://github.com/acpica/acpica/commit/e4e17ca3
> Signed-off-by: Bob Moore <robert.moore@intel.com>
> Signed-off-by: Lv Zheng <lv.zheng@intel.com>
> ---
>  drivers/acpi/acpica/uthex.c |    4 +-
>  include/acpi/actbl1.h       |  154 +++++++++++++++++++++++++++++++++++++++++++
>  include/acpi/acuuid.h       |   64 ++++++++++++++++++
>  3 files changed, 220 insertions(+), 2 deletions(-)
>  create mode 100644 include/acpi/acuuid.h
> 
> diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
> index aa44827..fda8b3d 100644
> --- a/drivers/acpi/acpica/uthex.c
> +++ b/drivers/acpi/acpica/uthex.c
> @@ -75,9 +75,9 @@ char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
>  
>  /*******************************************************************************
>   *
> - * FUNCTION:    acpi_ut_hex_char_to_value
> + * FUNCTION:    acpi_ut_ascii_char_to_hex
>   *
> - * PARAMETERS:  ascii_char            - Hex character in Ascii
> + * PARAMETERS:  hex_char                - Hex character in Ascii
>   *
>   * RETURN:      The binary value of the ascii/hex character
>   *
> diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
> index cadf21c..06b61f0 100644
> --- a/include/acpi/actbl1.h
> +++ b/include/acpi/actbl1.h
> @@ -71,6 +71,7 @@
>  #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */
>  #define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance Information Table */
>  #define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity Table */
> +#define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface Table */
>  
>  /*
>   * All tables must be byte-packed to match the ACPI specification, since
> @@ -922,6 +923,159 @@ struct acpi_msct_proximity {
>  
>  /*******************************************************************************
>   *
> + * NFIT - NVDIMM Interface Table (ACPI 6.0)
> + *        Version 1
> + *
> + ******************************************************************************/
> +
> +struct acpi_table_nfit {
> +	struct acpi_table_header header;	/* Common ACPI table header */
> +	u32 reserved;		/* Reserved, must be zero */
> +};
> +
> +/* Subtable header for NFIT */
> +
> +struct acpi_nfit_header {
> +	u16 type;
> +	u16 length;
> +};
> +
> +/* Values for subtable type in struct acpi_nfit_header */
> +
> +enum acpi_nfit_type {
> +	ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0,
> +	ACPI_NFIT_TYPE_MEMORY_MAP = 1,
> +	ACPI_NFIT_TYPE_INTERLEAVE = 2,
> +	ACPI_NFIT_TYPE_SMBIOS = 3,
> +	ACPI_NFIT_TYPE_CONTROL_REGION = 4,
> +	ACPI_NFIT_TYPE_DATA_REGION = 5,
> +	ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6,
> +	ACPI_NFIT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
> +};
> +
> +/*
> + * NFIT Subtables
> + */
> +
> +/* 0: System Physical Address Range Structure */
> +
> +struct acpi_nfit_system_address {
> +	struct acpi_nfit_header header;
> +	u16 range_index;
> +	u16 flags;
> +	u32 reserved;		/* Reseved, must be zero */
> +	u32 proximity_domain;
> +	u8 range_guid[16];
> +	u64 address;
> +	u64 length;
> +	u64 memory_mapping;
> +};
> +
> +/* Flags */
> +
> +#define ACPI_NFIT_ADD_ONLINE_ONLY       (1)	/* 00: Add/Online Operation Only */
> +#define ACPI_NFIT_PROXIMITY_VALID       (1<<1)	/* 01: Proximity Domain Valid */
> +
> +/* Range Type GUIDs appear in the include/acuuid.h file */
> +
> +/* 1: Memory Device to System Address Range Map Structure */
> +
> +struct acpi_nfit_memory_map {
> +	struct acpi_nfit_header header;
> +	u32 device_handle;
> +	u16 physical_id;
> +	u16 region_id;
> +	u16 range_index;
> +	u16 region_index;
> +	u64 region_size;
> +	u64 region_offset;
> +	u64 address;
> +	u16 interleave_index;
> +	u16 interleave_ways;
> +	u16 flags;
> +	u16 reserved;		/* Reserved, must be zero */
> +};
> +
> +/* Flags */
> +
> +#define ACPI_NFIT_MEM_SAVE_FAILED       (1)	/* 00: Last SAVE to Memory Device failed */
> +#define ACPI_NFIT_MEM_RESTORE_FAILED    (1<<1)	/* 01: Last RESTORE from Memory Device failed */
> +#define ACPI_NFIT_MEM_FLUSH_FAILED      (1<<2)	/* 02: Platform flush failed */
> +#define ACPI_NFIT_MEM_ARMED             (1<<3)	/* 03: Memory Device observed to be not armed */
> +#define ACPI_NFIT_MEM_HEALTH_OBSERVED   (1<<4)	/* 04: Memory Device observed SMART/health events */
> +#define ACPI_NFIT_MEM_HEALTH_ENABLED    (1<<5)	/* 05: SMART/health events enabled */
> +
> +/* 2: Interleave Structure */
> +
> +struct acpi_nfit_interleave {
> +	struct acpi_nfit_header header;
> +	u16 interleave_index;
> +	u16 reserved;		/* Reserved, must be zero */
> +	u32 line_count;
> +	u32 line_size;
> +	u32 line_offset[1];	/* Variable length */
> +};
> +
> +/* 3: SMBIOS Management Information Structure */
> +
> +struct acpi_nfit_smbios {
> +	struct acpi_nfit_header header;
> +	u32 reserved;		/* Reserved, must be zero */
> +	u8 data[1];		/* Variable length */
> +};
> +
> +/* 4: NVDIMM Control Region Structure */
> +
> +struct acpi_nfit_control_region {
> +	struct acpi_nfit_header header;
> +	u16 region_index;
> +	u16 vendor_id;
> +	u16 device_id;
> +	u16 revision_id;
> +	u16 subsystem_vendor_id;
> +	u16 subsystem_device_id;
> +	u16 subsystem_revision_id;
> +	u8 reserved[6];		/* Reserved, must be zero */
> +	u32 serial_number;
> +	u16 code;
> +	u16 windows;
> +	u64 window_size;
> +	u64 command_offset;
> +	u64 command_size;
> +	u64 status_offset;
> +	u64 status_size;
> +	u16 flags;
> +	u8 reserved1[6];	/* Reserved, must be zero */
> +};
> +
> +/* Flags */
> +
> +#define ACPI_NFIT_CONTROL_BUFFERED      (1)	/* Block Data Windows implementation is buffered */
> +
> +/* 5: NVDIMM Block Data Window Region Structure */
> +
> +struct acpi_nfit_data_region {
> +	struct acpi_nfit_header header;
> +	u16 region_index;
> +	u16 windows;
> +	u64 offset;
> +	u64 size;
> +	u64 capacity;
> +	u64 start_address;
> +};
> +
> +/* 6: Flush Hint Address Structure */
> +
> +struct acpi_nfit_flush_address {
> +	struct acpi_nfit_header header;
> +	u32 device_handle;
> +	u16 hint_count;
> +	u8 reserved[6];		/* Reserved, must be zero */
> +	u64 hint_address[1];	/* Variable length */
> +};
> +
> +/*******************************************************************************
> + *
>   * SBST - Smart Battery Specification Table
>   *        Version 1
>   *
> diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
> new file mode 100644
> index 0000000..4955d5e
> --- /dev/null
> +++ b/include/acpi/acuuid.h
> @@ -0,0 +1,64 @@
> +/******************************************************************************
> + *
> + * Name: acuuid.h - ACPI-related UUID/GUID definitions
> + *
> + *****************************************************************************/
> +
> +/*
> + * Copyright (C) 2000 - 2015, Intel Corp.
> + * All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions, and the following disclaimer,
> + *    without modification.
> + * 2. Redistributions in binary form must reproduce at minimum a disclaimer
> + *    substantially similar to the "NO WARRANTY" disclaimer below
> + *    ("Disclaimer") and any redistribution must be conditioned upon
> + *    including a substantially similar Disclaimer requirement for further
> + *    binary redistribution.
> + * 3. Neither the names of the above-listed copyright holders nor the names
> + *    of any contributors may be used to endorse or promote products derived
> + *    from this software without specific prior written permission.
> + *
> + * Alternatively, this software may be distributed under the terms of the
> + * GNU General Public License ("GPL") version 2 as published by the Free
> + * Software Foundation.
> + *
> + * NO WARRANTY
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
> + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
> + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> + * POSSIBILITY OF SUCH DAMAGES.
> + */
> +
> +#ifndef __ACUUID_H__
> +#define __ACUUID_H__
> +
> +/*
> + * Note1: UUIDs and GUIDs are defined to be identical in ACPI.
> + *
> + * Note2: This file is standalone and should remain that way.
> + */
> +
> +/* NFIT/NVDIMM */
> +
> +#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
> +#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
> +#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
> +#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
> +#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
> +#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
> +#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
> +#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"

I think we've concluded in the review of a different patch set with these same
definitions that these are incorrect.  Perhaps Bob can confirm?

-- ljk


> +
> +#endif				/* __AUUID_H__ */
> 


^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-22 15:17   ` Linda Knippers
@ 2015-05-22 15:28     ` Moore, Robert
  2015-05-22 21:53       ` Rafael J. Wysocki
  2015-05-22 16:12     ` Moore, Robert
  1 sibling, 1 reply; 59+ messages in thread
From: Moore, Robert @ 2015-05-22 15:28 UTC (permalink / raw)
  To: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi

Yes, you are correct, the NFIT strings are wrong. For example, the first string for UUID_VOLATILE_MEMORY should be:


"7305944F-FDDA-44E3-B16C-3F22D252E5D0"

You might want to verify this.

We will fix the original patch ASAP.

Thanks,
Bob


> -----Original Message-----
> From: Linda Knippers [mailto:linda.knippers@hp.com]
> Sent: Friday, May 22, 2015 8:17 AM
> To: Zheng, Lv; Wysocki, Rafael J; Brown, Len
> Cc: Lv Zheng; linux-kernel@vger.kernel.org; linux-acpi@vger.kernel.org;
> Moore, Robert
> Subject: Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
> 
> On 5/20/2015 10:31 PM, Lv Zheng wrote:
> > From: Bob Moore <robert.moore@intel.com>
> >
> > ACPICA commit e4e17ca361373e9b81494bb4ca697a12cef3cba6
> >
> > NVDIMM Firmware Interface Table.
> >
> > Link: https://github.com/acpica/acpica/commit/e4e17ca3
> > Signed-off-by: Bob Moore <robert.moore@intel.com>
> > Signed-off-by: Lv Zheng <lv.zheng@intel.com>
> > ---
> >  drivers/acpi/acpica/uthex.c |    4 +-
> >  include/acpi/actbl1.h       |  154
> +++++++++++++++++++++++++++++++++++++++++++
> >  include/acpi/acuuid.h       |   64 ++++++++++++++++++
> >  3 files changed, 220 insertions(+), 2 deletions(-)  create mode
> > 100644 include/acpi/acuuid.h
> >
> > diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
> > index aa44827..fda8b3d 100644
> > --- a/drivers/acpi/acpica/uthex.c
> > +++ b/drivers/acpi/acpica/uthex.c
> > @@ -75,9 +75,9 @@ char acpi_ut_hex_to_ascii_char(u64 integer, u32
> > position)
> >
> >
> /*************************************************************************
> ******
> >   *
> > - * FUNCTION:    acpi_ut_hex_char_to_value
> > + * FUNCTION:    acpi_ut_ascii_char_to_hex
> >   *
> > - * PARAMETERS:  ascii_char            - Hex character in Ascii
> > + * PARAMETERS:  hex_char                - Hex character in Ascii
> >   *
> >   * RETURN:      The binary value of the ascii/hex character
> >   *
> > diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index
> > cadf21c..06b61f0 100644
> > --- a/include/acpi/actbl1.h
> > +++ b/include/acpi/actbl1.h
> > @@ -71,6 +71,7 @@
> >  #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification
> Table */
> >  #define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance
> Information Table */
> >  #define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity
> Table */
> > +#define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface
> Table */
> >
> >  /*
> >   * All tables must be byte-packed to match the ACPI specification,
> > since @@ -922,6 +923,159 @@ struct acpi_msct_proximity {
> >
> >
> /*************************************************************************
> ******
> >   *
> > + * NFIT - NVDIMM Interface Table (ACPI 6.0)
> > + *        Version 1
> > + *
> > + ********************************************************************
> > + **********/
> > +
> > +struct acpi_table_nfit {
> > +	struct acpi_table_header header;	/* Common ACPI table header */
> > +	u32 reserved;		/* Reserved, must be zero */
> > +};
> > +
> > +/* Subtable header for NFIT */
> > +
> > +struct acpi_nfit_header {
> > +	u16 type;
> > +	u16 length;
> > +};
> > +
> > +/* Values for subtable type in struct acpi_nfit_header */
> > +
> > +enum acpi_nfit_type {
> > +	ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0,
> > +	ACPI_NFIT_TYPE_MEMORY_MAP = 1,
> > +	ACPI_NFIT_TYPE_INTERLEAVE = 2,
> > +	ACPI_NFIT_TYPE_SMBIOS = 3,
> > +	ACPI_NFIT_TYPE_CONTROL_REGION = 4,
> > +	ACPI_NFIT_TYPE_DATA_REGION = 5,
> > +	ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6,
> > +	ACPI_NFIT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
> > +};
> > +
> > +/*
> > + * NFIT Subtables
> > + */
> > +
> > +/* 0: System Physical Address Range Structure */
> > +
> > +struct acpi_nfit_system_address {
> > +	struct acpi_nfit_header header;
> > +	u16 range_index;
> > +	u16 flags;
> > +	u32 reserved;		/* Reseved, must be zero */
> > +	u32 proximity_domain;
> > +	u8 range_guid[16];
> > +	u64 address;
> > +	u64 length;
> > +	u64 memory_mapping;
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_ADD_ONLINE_ONLY       (1)	/* 00: Add/Online
> Operation Only */
> > +#define ACPI_NFIT_PROXIMITY_VALID       (1<<1)	/* 01: Proximity
> Domain Valid */
> > +
> > +/* Range Type GUIDs appear in the include/acuuid.h file */
> > +
> > +/* 1: Memory Device to System Address Range Map Structure */
> > +
> > +struct acpi_nfit_memory_map {
> > +	struct acpi_nfit_header header;
> > +	u32 device_handle;
> > +	u16 physical_id;
> > +	u16 region_id;
> > +	u16 range_index;
> > +	u16 region_index;
> > +	u64 region_size;
> > +	u64 region_offset;
> > +	u64 address;
> > +	u16 interleave_index;
> > +	u16 interleave_ways;
> > +	u16 flags;
> > +	u16 reserved;		/* Reserved, must be zero */
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_MEM_SAVE_FAILED       (1)	/* 00: Last SAVE to Memory
> Device failed */
> > +#define ACPI_NFIT_MEM_RESTORE_FAILED    (1<<1)	/* 01: Last RESTORE
> from Memory Device failed */
> > +#define ACPI_NFIT_MEM_FLUSH_FAILED      (1<<2)	/* 02: Platform
> flush failed */
> > +#define ACPI_NFIT_MEM_ARMED             (1<<3)	/* 03: Memory Device
> observed to be not armed */
> > +#define ACPI_NFIT_MEM_HEALTH_OBSERVED   (1<<4)	/* 04: Memory Device
> observed SMART/health events */
> > +#define ACPI_NFIT_MEM_HEALTH_ENABLED    (1<<5)	/* 05: SMART/health
> events enabled */
> > +
> > +/* 2: Interleave Structure */
> > +
> > +struct acpi_nfit_interleave {
> > +	struct acpi_nfit_header header;
> > +	u16 interleave_index;
> > +	u16 reserved;		/* Reserved, must be zero */
> > +	u32 line_count;
> > +	u32 line_size;
> > +	u32 line_offset[1];	/* Variable length */
> > +};
> > +
> > +/* 3: SMBIOS Management Information Structure */
> > +
> > +struct acpi_nfit_smbios {
> > +	struct acpi_nfit_header header;
> > +	u32 reserved;		/* Reserved, must be zero */
> > +	u8 data[1];		/* Variable length */
> > +};
> > +
> > +/* 4: NVDIMM Control Region Structure */
> > +
> > +struct acpi_nfit_control_region {
> > +	struct acpi_nfit_header header;
> > +	u16 region_index;
> > +	u16 vendor_id;
> > +	u16 device_id;
> > +	u16 revision_id;
> > +	u16 subsystem_vendor_id;
> > +	u16 subsystem_device_id;
> > +	u16 subsystem_revision_id;
> > +	u8 reserved[6];		/* Reserved, must be zero */
> > +	u32 serial_number;
> > +	u16 code;
> > +	u16 windows;
> > +	u64 window_size;
> > +	u64 command_offset;
> > +	u64 command_size;
> > +	u64 status_offset;
> > +	u64 status_size;
> > +	u16 flags;
> > +	u8 reserved1[6];	/* Reserved, must be zero */
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_CONTROL_BUFFERED      (1)	/* Block Data Windows
> implementation is buffered */
> > +
> > +/* 5: NVDIMM Block Data Window Region Structure */
> > +
> > +struct acpi_nfit_data_region {
> > +	struct acpi_nfit_header header;
> > +	u16 region_index;
> > +	u16 windows;
> > +	u64 offset;
> > +	u64 size;
> > +	u64 capacity;
> > +	u64 start_address;
> > +};
> > +
> > +/* 6: Flush Hint Address Structure */
> > +
> > +struct acpi_nfit_flush_address {
> > +	struct acpi_nfit_header header;
> > +	u32 device_handle;
> > +	u16 hint_count;
> > +	u8 reserved[6];		/* Reserved, must be zero */
> > +	u64 hint_address[1];	/* Variable length */
> > +};
> > +
> > +/********************************************************************
> > +***********
> > + *
> >   * SBST - Smart Battery Specification Table
> >   *        Version 1
> >   *
> > diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h new file
> > mode 100644 index 0000000..4955d5e
> > --- /dev/null
> > +++ b/include/acpi/acuuid.h
> > @@ -0,0 +1,64 @@
> > +/********************************************************************
> > +**********
> > + *
> > + * Name: acuuid.h - ACPI-related UUID/GUID definitions
> > + *
> > +
> > +*********************************************************************
> > +********/
> > +
> > +/*
> > + * Copyright (C) 2000 - 2015, Intel Corp.
> > + * All rights reserved.
> > + *
> > + * Redistribution and use in source and binary forms, with or without
> > + * modification, are permitted provided that the following conditions
> > + * are met:
> > + * 1. Redistributions of source code must retain the above copyright
> > + *    notice, this list of conditions, and the following disclaimer,
> > + *    without modification.
> > + * 2. Redistributions in binary form must reproduce at minimum a
> disclaimer
> > + *    substantially similar to the "NO WARRANTY" disclaimer below
> > + *    ("Disclaimer") and any redistribution must be conditioned upon
> > + *    including a substantially similar Disclaimer requirement for
> further
> > + *    binary redistribution.
> > + * 3. Neither the names of the above-listed copyright holders nor the
> names
> > + *    of any contributors may be used to endorse or promote products
> derived
> > + *    from this software without specific prior written permission.
> > + *
> > + * Alternatively, this software may be distributed under the terms of
> > +the
> > + * GNU General Public License ("GPL") version 2 as published by the
> > +Free
> > + * Software Foundation.
> > + *
> > + * NO WARRANTY
> > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> > +CONTRIBUTORS
> > + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS
> > +FOR
> > + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> > +COPYRIGHT
> > + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR
> > +CONSEQUENTIAL
> > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
> > +GOODS
> > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> > +INTERRUPTION)
> > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> > +CONTRACT,
> > + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> > +ARISING
> > + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> > + * POSSIBILITY OF SUCH DAMAGES.
> > + */
> > +
> > +#ifndef __ACUUID_H__
> > +#define __ACUUID_H__
> > +
> > +/*
> > + * Note1: UUIDs and GUIDs are defined to be identical in ACPI.
> > + *
> > + * Note2: This file is standalone and should remain that way.
> > + */
> > +
> > +/* NFIT/NVDIMM */
> > +
> > +#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-
> 3F22D252E5D0"
> > +#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-
> 0D3318B78CDB"
> > +#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-
> 299367E8234C"
> > +#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-
> 0A2DB9408249"
> > +#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-
> F7B281D1F96E"
> > +#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-
> D2ADE523C4BB"
> > +#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-
> 4496FBE096F9"
> > +#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-
> 5387D53DED3D"
> 
> I think we've concluded in the review of a different patch set with these
> same definitions that these are incorrect.  Perhaps Bob can confirm?
> 
> -- ljk
> 
> 
> > +
> > +#endif				/* __AUUID_H__ */
> >

^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-22 15:17   ` Linda Knippers
  2015-05-22 15:28     ` Moore, Robert
@ 2015-05-22 16:12     ` Moore, Robert
  1 sibling, 0 replies; 59+ messages in thread
From: Moore, Robert @ 2015-05-22 16:12 UTC (permalink / raw)
  To: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi

Here are the corrected strings. We will update the patch ASAP.

/* NVDIMM - NFIT table */

#define UUID_VOLATILE_MEMORY            "7305944f-fdda-44e3-b16c-3f22d252e5d0"
#define UUID_PERSISTENT_MEMORY          "66f0d379-b4f3-4074-ac43-0d3318b78cdb"
#define UUID_CONTROL_REGION             "92f701f6-13b4-405d-910b-299367e8234c"
#define UUID_DATA_REGION                "91af0530-5d86-470e-a6b0-0a2db9408249"
#define UUID_VOLATILE_VIRTUAL_DISK      "77ab535a-45fc-624b-5560-f7b281d1f96e"
#define UUID_VOLATILE_VIRTUAL_CD        "3d5abd30-4175-87ce-6d64-d2ade523c4bb"
#define UUID_PERSISTENT_VIRTUAL_DISK    "5cea02c9-4d07-69d3-269f-4496fbe096f9"
#define UUID_PERSISTENT_VIRTUAL_CD      "08018188-42cd-bb48-100f-5387d53ded3d"


> -----Original Message-----
> From: Linda Knippers [mailto:linda.knippers@hp.com]
> Sent: Friday, May 22, 2015 8:17 AM
> To: Zheng, Lv; Wysocki, Rafael J; Brown, Len
> Cc: Lv Zheng; linux-kernel@vger.kernel.org; linux-acpi@vger.kernel.org;
> Moore, Robert
> Subject: Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
> 
> On 5/20/2015 10:31 PM, Lv Zheng wrote:
> > From: Bob Moore <robert.moore@intel.com>
> >
> > ACPICA commit e4e17ca361373e9b81494bb4ca697a12cef3cba6
> >
> > NVDIMM Firmware Interface Table.
> >
> > Link: https://github.com/acpica/acpica/commit/e4e17ca3
> > Signed-off-by: Bob Moore <robert.moore@intel.com>
> > Signed-off-by: Lv Zheng <lv.zheng@intel.com>
> > ---
> >  drivers/acpi/acpica/uthex.c |    4 +-
> >  include/acpi/actbl1.h       |  154
> +++++++++++++++++++++++++++++++++++++++++++
> >  include/acpi/acuuid.h       |   64 ++++++++++++++++++
> >  3 files changed, 220 insertions(+), 2 deletions(-)  create mode
> > 100644 include/acpi/acuuid.h
> >
> > diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
> > index aa44827..fda8b3d 100644
> > --- a/drivers/acpi/acpica/uthex.c
> > +++ b/drivers/acpi/acpica/uthex.c
> > @@ -75,9 +75,9 @@ char acpi_ut_hex_to_ascii_char(u64 integer, u32
> > position)
> >
> >
> /*************************************************************************
> ******
> >   *
> > - * FUNCTION:    acpi_ut_hex_char_to_value
> > + * FUNCTION:    acpi_ut_ascii_char_to_hex
> >   *
> > - * PARAMETERS:  ascii_char            - Hex character in Ascii
> > + * PARAMETERS:  hex_char                - Hex character in Ascii
> >   *
> >   * RETURN:      The binary value of the ascii/hex character
> >   *
> > diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index
> > cadf21c..06b61f0 100644
> > --- a/include/acpi/actbl1.h
> > +++ b/include/acpi/actbl1.h
> > @@ -71,6 +71,7 @@
> >  #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification
> Table */
> >  #define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance
> Information Table */
> >  #define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity
> Table */
> > +#define ACPI_SIG_NFIT           "NFIT"	/* NVDIMM Firmware Interface
> Table */
> >
> >  /*
> >   * All tables must be byte-packed to match the ACPI specification,
> > since @@ -922,6 +923,159 @@ struct acpi_msct_proximity {
> >
> >
> /*************************************************************************
> ******
> >   *
> > + * NFIT - NVDIMM Interface Table (ACPI 6.0)
> > + *        Version 1
> > + *
> > + ********************************************************************
> > + **********/
> > +
> > +struct acpi_table_nfit {
> > +	struct acpi_table_header header;	/* Common ACPI table header */
> > +	u32 reserved;		/* Reserved, must be zero */
> > +};
> > +
> > +/* Subtable header for NFIT */
> > +
> > +struct acpi_nfit_header {
> > +	u16 type;
> > +	u16 length;
> > +};
> > +
> > +/* Values for subtable type in struct acpi_nfit_header */
> > +
> > +enum acpi_nfit_type {
> > +	ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0,
> > +	ACPI_NFIT_TYPE_MEMORY_MAP = 1,
> > +	ACPI_NFIT_TYPE_INTERLEAVE = 2,
> > +	ACPI_NFIT_TYPE_SMBIOS = 3,
> > +	ACPI_NFIT_TYPE_CONTROL_REGION = 4,
> > +	ACPI_NFIT_TYPE_DATA_REGION = 5,
> > +	ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6,
> > +	ACPI_NFIT_TYPE_RESERVED = 7	/* 7 and greater are reserved */
> > +};
> > +
> > +/*
> > + * NFIT Subtables
> > + */
> > +
> > +/* 0: System Physical Address Range Structure */
> > +
> > +struct acpi_nfit_system_address {
> > +	struct acpi_nfit_header header;
> > +	u16 range_index;
> > +	u16 flags;
> > +	u32 reserved;		/* Reseved, must be zero */
> > +	u32 proximity_domain;
> > +	u8 range_guid[16];
> > +	u64 address;
> > +	u64 length;
> > +	u64 memory_mapping;
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_ADD_ONLINE_ONLY       (1)	/* 00: Add/Online
> Operation Only */
> > +#define ACPI_NFIT_PROXIMITY_VALID       (1<<1)	/* 01: Proximity
> Domain Valid */
> > +
> > +/* Range Type GUIDs appear in the include/acuuid.h file */
> > +
> > +/* 1: Memory Device to System Address Range Map Structure */
> > +
> > +struct acpi_nfit_memory_map {
> > +	struct acpi_nfit_header header;
> > +	u32 device_handle;
> > +	u16 physical_id;
> > +	u16 region_id;
> > +	u16 range_index;
> > +	u16 region_index;
> > +	u64 region_size;
> > +	u64 region_offset;
> > +	u64 address;
> > +	u16 interleave_index;
> > +	u16 interleave_ways;
> > +	u16 flags;
> > +	u16 reserved;		/* Reserved, must be zero */
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_MEM_SAVE_FAILED       (1)	/* 00: Last SAVE to Memory
> Device failed */
> > +#define ACPI_NFIT_MEM_RESTORE_FAILED    (1<<1)	/* 01: Last RESTORE
> from Memory Device failed */
> > +#define ACPI_NFIT_MEM_FLUSH_FAILED      (1<<2)	/* 02: Platform
> flush failed */
> > +#define ACPI_NFIT_MEM_ARMED             (1<<3)	/* 03: Memory Device
> observed to be not armed */
> > +#define ACPI_NFIT_MEM_HEALTH_OBSERVED   (1<<4)	/* 04: Memory Device
> observed SMART/health events */
> > +#define ACPI_NFIT_MEM_HEALTH_ENABLED    (1<<5)	/* 05: SMART/health
> events enabled */
> > +
> > +/* 2: Interleave Structure */
> > +
> > +struct acpi_nfit_interleave {
> > +	struct acpi_nfit_header header;
> > +	u16 interleave_index;
> > +	u16 reserved;		/* Reserved, must be zero */
> > +	u32 line_count;
> > +	u32 line_size;
> > +	u32 line_offset[1];	/* Variable length */
> > +};
> > +
> > +/* 3: SMBIOS Management Information Structure */
> > +
> > +struct acpi_nfit_smbios {
> > +	struct acpi_nfit_header header;
> > +	u32 reserved;		/* Reserved, must be zero */
> > +	u8 data[1];		/* Variable length */
> > +};
> > +
> > +/* 4: NVDIMM Control Region Structure */
> > +
> > +struct acpi_nfit_control_region {
> > +	struct acpi_nfit_header header;
> > +	u16 region_index;
> > +	u16 vendor_id;
> > +	u16 device_id;
> > +	u16 revision_id;
> > +	u16 subsystem_vendor_id;
> > +	u16 subsystem_device_id;
> > +	u16 subsystem_revision_id;
> > +	u8 reserved[6];		/* Reserved, must be zero */
> > +	u32 serial_number;
> > +	u16 code;
> > +	u16 windows;
> > +	u64 window_size;
> > +	u64 command_offset;
> > +	u64 command_size;
> > +	u64 status_offset;
> > +	u64 status_size;
> > +	u16 flags;
> > +	u8 reserved1[6];	/* Reserved, must be zero */
> > +};
> > +
> > +/* Flags */
> > +
> > +#define ACPI_NFIT_CONTROL_BUFFERED      (1)	/* Block Data Windows
> implementation is buffered */
> > +
> > +/* 5: NVDIMM Block Data Window Region Structure */
> > +
> > +struct acpi_nfit_data_region {
> > +	struct acpi_nfit_header header;
> > +	u16 region_index;
> > +	u16 windows;
> > +	u64 offset;
> > +	u64 size;
> > +	u64 capacity;
> > +	u64 start_address;
> > +};
> > +
> > +/* 6: Flush Hint Address Structure */
> > +
> > +struct acpi_nfit_flush_address {
> > +	struct acpi_nfit_header header;
> > +	u32 device_handle;
> > +	u16 hint_count;
> > +	u8 reserved[6];		/* Reserved, must be zero */
> > +	u64 hint_address[1];	/* Variable length */
> > +};
> > +
> > +/********************************************************************
> > +***********
> > + *
> >   * SBST - Smart Battery Specification Table
> >   *        Version 1
> >   *
> > diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h new file
> > mode 100644 index 0000000..4955d5e
> > --- /dev/null
> > +++ b/include/acpi/acuuid.h
> > @@ -0,0 +1,64 @@
> > +/********************************************************************
> > +**********
> > + *
> > + * Name: acuuid.h - ACPI-related UUID/GUID definitions
> > + *
> > +
> > +*********************************************************************
> > +********/
> > +
> > +/*
> > + * Copyright (C) 2000 - 2015, Intel Corp.
> > + * All rights reserved.
> > + *
> > + * Redistribution and use in source and binary forms, with or without
> > + * modification, are permitted provided that the following conditions
> > + * are met:
> > + * 1. Redistributions of source code must retain the above copyright
> > + *    notice, this list of conditions, and the following disclaimer,
> > + *    without modification.
> > + * 2. Redistributions in binary form must reproduce at minimum a
> disclaimer
> > + *    substantially similar to the "NO WARRANTY" disclaimer below
> > + *    ("Disclaimer") and any redistribution must be conditioned upon
> > + *    including a substantially similar Disclaimer requirement for
> further
> > + *    binary redistribution.
> > + * 3. Neither the names of the above-listed copyright holders nor the
> names
> > + *    of any contributors may be used to endorse or promote products
> derived
> > + *    from this software without specific prior written permission.
> > + *
> > + * Alternatively, this software may be distributed under the terms of
> > +the
> > + * GNU General Public License ("GPL") version 2 as published by the
> > +Free
> > + * Software Foundation.
> > + *
> > + * NO WARRANTY
> > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> > +CONTRIBUTORS
> > + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS
> > +FOR
> > + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> > +COPYRIGHT
> > + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR
> > +CONSEQUENTIAL
> > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
> > +GOODS
> > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> > +INTERRUPTION)
> > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> > +CONTRACT,
> > + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> > +ARISING
> > + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> > + * POSSIBILITY OF SUCH DAMAGES.
> > + */
> > +
> > +#ifndef __ACUUID_H__
> > +#define __ACUUID_H__
> > +
> > +/*
> > + * Note1: UUIDs and GUIDs are defined to be identical in ACPI.
> > + *
> > + * Note2: This file is standalone and should remain that way.
> > + */
> > +
> > +/* NFIT/NVDIMM */
> > +
> > +#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-
> 3F22D252E5D0"
> > +#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-
> 0D3318B78CDB"
> > +#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-
> 299367E8234C"
> > +#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-
> 0A2DB9408249"
> > +#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-
> F7B281D1F96E"
> > +#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-
> D2ADE523C4BB"
> > +#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-
> 4496FBE096F9"
> > +#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-
> 5387D53DED3D"
> 
> I think we've concluded in the review of a different patch set with these
> same definitions that these are incorrect.  Perhaps Bob can confirm?
> 
> -- ljk
> 
> 
> > +
> > +#endif				/* __AUUID_H__ */
> >


^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-22 21:53       ` Rafael J. Wysocki
@ 2015-05-22 21:36           ` Moore, Robert
  0 siblings, 0 replies; 59+ messages in thread
From: Moore, Robert @ 2015-05-22 21:36 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len,
	Lv Zheng, linux-kernel, linux-acpi

I just forwarded it to him, plus it is in our git tree.


> -----Original Message-----
> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
> Sent: Friday, May 22, 2015 2:53 PM
> To: Moore, Robert
> Cc: Linda Knippers; Zheng, Lv; Wysocki, Rafael J; Brown, Len; Lv Zheng;
> linux-kernel@vger.kernel.org; linux-acpi@vger.kernel.org
> Subject: Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
> 
> On Friday, May 22, 2015 03:28:04 PM Moore, Robert wrote:
> > Yes, you are correct, the NFIT strings are wrong. For example, the first
> string for UUID_VOLATILE_MEMORY should be:
> >
> >
> > "7305944F-FDDA-44E3-B16C-3F22D252E5D0"
> >
> > You might want to verify this.
> >
> > We will fix the original patch ASAP.
> 
> I'm guessing I should receive the fix from Lv early next week then.
> 
> Is that correct?
> 
> Rafael


^ permalink raw reply	[flat|nested] 59+ messages in thread

* RE: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
@ 2015-05-22 21:36           ` Moore, Robert
  0 siblings, 0 replies; 59+ messages in thread
From: Moore, Robert @ 2015-05-22 21:36 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len,
	Lv Zheng, linux-kernel, linux-acpi

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 992 bytes --]

I just forwarded it to him, plus it is in our git tree.


> -----Original Message-----
> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
> Sent: Friday, May 22, 2015 2:53 PM
> To: Moore, Robert
> Cc: Linda Knippers; Zheng, Lv; Wysocki, Rafael J; Brown, Len; Lv Zheng;
> linux-kernel@vger.kernel.org; linux-acpi@vger.kernel.org
> Subject: Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
> 
> On Friday, May 22, 2015 03:28:04 PM Moore, Robert wrote:
> > Yes, you are correct, the NFIT strings are wrong. For example, the first
> string for UUID_VOLATILE_MEMORY should be:
> >
> >
> > "7305944F-FDDA-44E3-B16C-3F22D252E5D0"
> >
> > You might want to verify this.
> >
> > We will fix the original patch ASAP.
> 
> I'm guessing I should receive the fix from Lv early next week then.
> 
> Is that correct?
> 
> Rafael

ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-22 15:28     ` Moore, Robert
@ 2015-05-22 21:53       ` Rafael J. Wysocki
  2015-05-22 21:36           ` Moore, Robert
  0 siblings, 1 reply; 59+ messages in thread
From: Rafael J. Wysocki @ 2015-05-22 21:53 UTC (permalink / raw)
  To: Moore, Robert
  Cc: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len,
	Lv Zheng, linux-kernel, linux-acpi

On Friday, May 22, 2015 03:28:04 PM Moore, Robert wrote:
> Yes, you are correct, the NFIT strings are wrong. For example, the first string for UUID_VOLATILE_MEMORY should be:
> 
> 
> "7305944F-FDDA-44E3-B16C-3F22D252E5D0"
> 
> You might want to verify this.
> 
> We will fix the original patch ASAP.

I'm guessing I should receive the fix from Lv early next week then.

Is that correct?

Rafael

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table.
  2015-05-22 21:36           ` Moore, Robert
  (?)
@ 2015-05-22 22:06           ` Rafael J. Wysocki
  -1 siblings, 0 replies; 59+ messages in thread
From: Rafael J. Wysocki @ 2015-05-22 22:06 UTC (permalink / raw)
  To: Moore, Robert
  Cc: Linda Knippers, Zheng, Lv, Wysocki, Rafael J, Brown, Len,
	Lv Zheng, linux-kernel, linux-acpi

On Friday, May 22, 2015 09:36:32 PM Moore, Robert wrote:
> I just forwarded it to him, plus it is in our git tree.

OK

I'll wait with publishing my acpica branch till I get the fix, then.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
  2015-05-22  0:16       ` Zheng, Lv
@ 2015-05-23  0:02         ` Hanjun Guo
  -1 siblings, 0 replies; 59+ messages in thread
From: Hanjun Guo @ 2015-05-23  0:02 UTC (permalink / raw)
  To: Zheng, Lv, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi, Moore, Robert

On 2015年05月22日 08:16, Zheng, Lv wrote:
> Hi,
>
>> From: Hanjun Guo [mailto:hanjun.guo@linaro.org]
>> Sent: Thursday, May 21, 2015 10:36 PM
>>
>> Hi Lv,
>>
>> On 2015年05月21日 10:31, Lv Zheng wrote:
>>> 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>
>>> ---
>> [...]
>>>
>>>    /* Masks for Flags field above */
>>> @@ -819,7 +822,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;
>>> @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
>>>    	u32 gic_id;
>>>    	u64 base_address;
>>>    	u32 global_irq_base;
>>> -	u32 reserved2;		/* reserved - must be zero */
>>> +	u8 version;
>>
>> version filed in generic distributor has following values,
>>
>> /* Values for gic_version in Generic Distributor  (ACPI 6.0) */
>>
>> enum acpi_madt_gic_ver_type
>> {
>>           ACPI_MADT_GIC_VER_UNKNOWN       = 0,
>>           ACPI_MADT_GIC_VER_V1            = 1,
>>           ACPI_MADT_GIC_VER_V2            = 2,
>>           ACPI_MADT_GIC_VER_V3            = 3,
>>           ACPI_MADT_GIC_VER_V4            = 4,
>>           ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are
>> reserved */
>> };
>>
>> should we put it here, or locate it to ARM64 arch related head
>> file?
>
> Yes, you can put it here.
> And also please help to submit an ACPICA patch to <devel@acpica.org>.

OK, I think it is a fix to this patch too, I will
prepare a patch soon.

Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table.
@ 2015-05-23  0:02         ` Hanjun Guo
  0 siblings, 0 replies; 59+ messages in thread
From: Hanjun Guo @ 2015-05-23  0:02 UTC (permalink / raw)
  To: Zheng, Lv, Wysocki, Rafael J, Brown, Len
  Cc: Lv Zheng, linux-kernel, linux-acpi, Moore, Robert

On 2015年05月22日 08:16, Zheng, Lv wrote:
> Hi,
>
>> From: Hanjun Guo [mailto:hanjun.guo@linaro.org]
>> Sent: Thursday, May 21, 2015 10:36 PM
>>
>> Hi Lv,
>>
>> On 2015年05月21日 10:31, Lv Zheng wrote:
>>> 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>
>>> ---
>> [...]
>>>
>>>    /* Masks for Flags field above */
>>> @@ -819,7 +822,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;
>>> @@ -827,7 +830,8 @@ struct acpi_madt_generic_distributor {
>>>    	u32 gic_id;
>>>    	u64 base_address;
>>>    	u32 global_irq_base;
>>> -	u32 reserved2;		/* reserved - must be zero */
>>> +	u8 version;
>>
>> version filed in generic distributor has following values,
>>
>> /* Values for gic_version in Generic Distributor  (ACPI 6.0) */
>>
>> enum acpi_madt_gic_ver_type
>> {
>>           ACPI_MADT_GIC_VER_UNKNOWN       = 0,
>>           ACPI_MADT_GIC_VER_V1            = 1,
>>           ACPI_MADT_GIC_VER_V2            = 2,
>>           ACPI_MADT_GIC_VER_V3            = 3,
>>           ACPI_MADT_GIC_VER_V4            = 4,
>>           ACPI_MADT_GIC_VER_RESERVED      = 5     /* 5 and greater are
>> reserved */
>> };
>>
>> should we put it here, or locate it to ARM64 arch related head
>> file?
>
> Yes, you can put it here.
> And also please help to submit an ACPICA patch to <devel@acpica.org>.

OK, I think it is a fix to this patch too, I will
prepare a patch soon.

Thanks
Hanjun

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH 1/2] ACPICA: acpihelp: Update for new NFIT table GUIDs.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-25  0:15   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-25  0:15 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 83727bed8f715685a63a9f668e73c60496a06054

Add original UUIDs/GUIDs to the acuuid.h file.
Cleanup acpihelp output for UUIDs/GUIDs.

Link: https://github.com/acpica/acpica/commit/83727bed
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acuuid.h |   43 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
index 4955d5e..7c6cbb0 100644
--- a/include/acpi/acuuid.h
+++ b/include/acpi/acuuid.h
@@ -50,15 +50,40 @@
  * Note2: This file is standalone and should remain that way.
  */
 
-/* NFIT/NVDIMM */
+/* Controllers */
 
-#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
-#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
-#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
-#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
-#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
-#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
-#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
-#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"
+#define UUID_GPIO_CONTROLLER            "4f248f40-d5e2-499f-834c-27758ea1cd3f"
+#define UUID_USB_CONTROLLER             "ce2ee385-00e6-48cb-9f05-2edb927c4899"
+#define UUID_SATA_CONTROLLER            "e4db149b-fcfe-425b-a6d8-92357d78fc7f"
+
+/* Devices */
+
+#define UUID_PCI_HOST_BRIDGE            "33db4d5b-1ff7-401c-9657-7441c03dd766"
+#define UUID_I2C_DEVICE                 "3cdff6f7-4267-4555-ad05-b30a3d8938de"
+#define UUID_POWER_BUTTON               "dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c"
+
+/* Interfaces */
+
+#define UUID_DEVICE_LABELING            "e5c937d0-3553-4d7a-9117-ea4d19c3434d"
+#define UUID_PHYSICAL_PRESENCE          "3dddfaa6-361b-4eb4-a424-8d10089d1653"
+
+/* NVDIMM - NFIT table */
+
+#define UUID_VOLATILE_MEMORY            "4f940573-dafd-e344-b16c-3f22d252e5d0"
+#define UUID_PERSISTENT_MEMORY          "79d3f066-f3b4-7440-ac43-0d3318b78cdb"
+#define UUID_CONTROL_REGION             "f601f792-b413-5d40-910b-299367e8234c"
+#define UUID_DATA_REGION                "3005af91-865d-0e47-a6b0-0a2db9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "5a53ab77-fc45-4b62-5560-f7b281d1f96e"
+#define UUID_VOLATILE_VIRTUAL_CD        "30bd5a3d-7541-ce87-6d64-d2ade523c4bb"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "c902ea5c-074d-69d3-269f-4496fbe096f9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-cd42-48bb-100f-5387d53ded3d"
+
+/* Miscellaneous */
+
+#define UUID_PLATFORM_CAPABILITIES      "0811b06e-4a27-44f9-8d60-3cbbc22e7b48"
+#define UUID_DYNAMIC_ENUMERATION        "d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf"
+#define UUID_BATTERY_THERMAL_LIMIT      "4c2067e3-887d-475c-9720-4af1d3ed602e"
+#define UUID_THERMAL_EXTENSIONS         "14d399cd-7a27-4b18-8fb4-7cb7b9f4e500"
+#define UUID_DEVICE_PROPERTIES          "daffd814-6eba-4d8c-8a91-bc9bbf4aa301"
 
 #endif				/* __AUUID_H__ */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 1/2] ACPICA: acpihelp: Update for new NFIT table GUIDs.
@ 2015-05-25  0:15   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-25  0:15 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 83727bed8f715685a63a9f668e73c60496a06054

Add original UUIDs/GUIDs to the acuuid.h file.
Cleanup acpihelp output for UUIDs/GUIDs.

Link: https://github.com/acpica/acpica/commit/83727bed
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acuuid.h |   43 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
index 4955d5e..7c6cbb0 100644
--- a/include/acpi/acuuid.h
+++ b/include/acpi/acuuid.h
@@ -50,15 +50,40 @@
  * Note2: This file is standalone and should remain that way.
  */
 
-/* NFIT/NVDIMM */
+/* Controllers */
 
-#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
-#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
-#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
-#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
-#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
-#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
-#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
-#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"
+#define UUID_GPIO_CONTROLLER            "4f248f40-d5e2-499f-834c-27758ea1cd3f"
+#define UUID_USB_CONTROLLER             "ce2ee385-00e6-48cb-9f05-2edb927c4899"
+#define UUID_SATA_CONTROLLER            "e4db149b-fcfe-425b-a6d8-92357d78fc7f"
+
+/* Devices */
+
+#define UUID_PCI_HOST_BRIDGE            "33db4d5b-1ff7-401c-9657-7441c03dd766"
+#define UUID_I2C_DEVICE                 "3cdff6f7-4267-4555-ad05-b30a3d8938de"
+#define UUID_POWER_BUTTON               "dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c"
+
+/* Interfaces */
+
+#define UUID_DEVICE_LABELING            "e5c937d0-3553-4d7a-9117-ea4d19c3434d"
+#define UUID_PHYSICAL_PRESENCE          "3dddfaa6-361b-4eb4-a424-8d10089d1653"
+
+/* NVDIMM - NFIT table */
+
+#define UUID_VOLATILE_MEMORY            "4f940573-dafd-e344-b16c-3f22d252e5d0"
+#define UUID_PERSISTENT_MEMORY          "79d3f066-f3b4-7440-ac43-0d3318b78cdb"
+#define UUID_CONTROL_REGION             "f601f792-b413-5d40-910b-299367e8234c"
+#define UUID_DATA_REGION                "3005af91-865d-0e47-a6b0-0a2db9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "5a53ab77-fc45-4b62-5560-f7b281d1f96e"
+#define UUID_VOLATILE_VIRTUAL_CD        "30bd5a3d-7541-ce87-6d64-d2ade523c4bb"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "c902ea5c-074d-69d3-269f-4496fbe096f9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-cd42-48bb-100f-5387d53ded3d"
+
+/* Miscellaneous */
+
+#define UUID_PLATFORM_CAPABILITIES      "0811b06e-4a27-44f9-8d60-3cbbc22e7b48"
+#define UUID_DYNAMIC_ENUMERATION        "d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf"
+#define UUID_BATTERY_THERMAL_LIMIT      "4c2067e3-887d-475c-9720-4af1d3ed602e"
+#define UUID_THERMAL_EXTENSIONS         "14d399cd-7a27-4b18-8fb4-7cb7b9f4e500"
+#define UUID_DEVICE_PROPERTIES          "daffd814-6eba-4d8c-8a91-bc9bbf4aa301"
 
 #endif				/* __AUUID_H__ */
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 2/2] ACPICA: Fix for ill-formed GUID strings for NFIT tables.
  2015-05-21  2:29 ` Lv Zheng
@ 2015-05-25  0:15   ` Lv Zheng
  -1 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-25  0:15 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 60052949ba2aa7377106870da69b237193d10dc1

Error in transcription from the ACPI spec.

Link: https://github.com/acpica/acpica/commit/60052949
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acuuid.h |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
index 7c6cbb0..80fe8cf 100644
--- a/include/acpi/acuuid.h
+++ b/include/acpi/acuuid.h
@@ -69,14 +69,14 @@
 
 /* NVDIMM - NFIT table */
 
-#define UUID_VOLATILE_MEMORY            "4f940573-dafd-e344-b16c-3f22d252e5d0"
-#define UUID_PERSISTENT_MEMORY          "79d3f066-f3b4-7440-ac43-0d3318b78cdb"
-#define UUID_CONTROL_REGION             "f601f792-b413-5d40-910b-299367e8234c"
-#define UUID_DATA_REGION                "3005af91-865d-0e47-a6b0-0a2db9408249"
-#define UUID_VOLATILE_VIRTUAL_DISK      "5a53ab77-fc45-4b62-5560-f7b281d1f96e"
-#define UUID_VOLATILE_VIRTUAL_CD        "30bd5a3d-7541-ce87-6d64-d2ade523c4bb"
-#define UUID_PERSISTENT_VIRTUAL_DISK    "c902ea5c-074d-69d3-269f-4496fbe096f9"
-#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-cd42-48bb-100f-5387d53ded3d"
+#define UUID_VOLATILE_MEMORY            "7305944f-fdda-44e3-b16c-3f22d252e5d0"
+#define UUID_PERSISTENT_MEMORY          "66f0d379-b4f3-4074-ac43-0d3318b78cdb"
+#define UUID_CONTROL_REGION             "92f701f6-13b4-405d-910b-299367e8234c"
+#define UUID_DATA_REGION                "91af0530-5d86-470e-a6b0-0a2db9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "77ab535a-45fc-624b-5560-f7b281d1f96e"
+#define UUID_VOLATILE_VIRTUAL_CD        "3d5abd30-4175-87ce-6d64-d2ade523c4bb"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "5cea02c9-4d07-69d3-269f-4496fbe096f9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "08018188-42cd-bb48-100f-5387d53ded3d"
 
 /* Miscellaneous */
 
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 2/2] ACPICA: Fix for ill-formed GUID strings for NFIT tables.
@ 2015-05-25  0:15   ` Lv Zheng
  0 siblings, 0 replies; 59+ messages in thread
From: Lv Zheng @ 2015-05-25  0:15 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Bob Moore

From: Bob Moore <robert.moore@intel.com>

ACPICA commit 60052949ba2aa7377106870da69b237193d10dc1

Error in transcription from the ACPI spec.

Link: https://github.com/acpica/acpica/commit/60052949
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
 include/acpi/acuuid.h |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
index 7c6cbb0..80fe8cf 100644
--- a/include/acpi/acuuid.h
+++ b/include/acpi/acuuid.h
@@ -69,14 +69,14 @@
 
 /* NVDIMM - NFIT table */
 
-#define UUID_VOLATILE_MEMORY            "4f940573-dafd-e344-b16c-3f22d252e5d0"
-#define UUID_PERSISTENT_MEMORY          "79d3f066-f3b4-7440-ac43-0d3318b78cdb"
-#define UUID_CONTROL_REGION             "f601f792-b413-5d40-910b-299367e8234c"
-#define UUID_DATA_REGION                "3005af91-865d-0e47-a6b0-0a2db9408249"
-#define UUID_VOLATILE_VIRTUAL_DISK      "5a53ab77-fc45-4b62-5560-f7b281d1f96e"
-#define UUID_VOLATILE_VIRTUAL_CD        "30bd5a3d-7541-ce87-6d64-d2ade523c4bb"
-#define UUID_PERSISTENT_VIRTUAL_DISK    "c902ea5c-074d-69d3-269f-4496fbe096f9"
-#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-cd42-48bb-100f-5387d53ded3d"
+#define UUID_VOLATILE_MEMORY            "7305944f-fdda-44e3-b16c-3f22d252e5d0"
+#define UUID_PERSISTENT_MEMORY          "66f0d379-b4f3-4074-ac43-0d3318b78cdb"
+#define UUID_CONTROL_REGION             "92f701f6-13b4-405d-910b-299367e8234c"
+#define UUID_DATA_REGION                "91af0530-5d86-470e-a6b0-0a2db9408249"
+#define UUID_VOLATILE_VIRTUAL_DISK      "77ab535a-45fc-624b-5560-f7b281d1f96e"
+#define UUID_VOLATILE_VIRTUAL_CD        "3d5abd30-4175-87ce-6d64-d2ade523c4bb"
+#define UUID_PERSISTENT_VIRTUAL_DISK    "5cea02c9-4d07-69d3-269f-4496fbe096f9"
+#define UUID_PERSISTENT_VIRTUAL_CD      "08018188-42cd-bb48-100f-5387d53ded3d"
 
 /* Miscellaneous */
 
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* Re: [PATCH 1/2] ACPICA: acpihelp: Update for new NFIT table GUIDs.
  2015-05-25  0:15   ` Lv Zheng
  (?)
@ 2015-05-26  0:21   ` Rafael J. Wysocki
  -1 siblings, 0 replies; 59+ messages in thread
From: Rafael J. Wysocki @ 2015-05-26  0:21 UTC (permalink / raw)
  To: Lv Zheng
  Cc: Rafael J. Wysocki, Len Brown, Lv Zheng, linux-kernel, linux-acpi,
	Bob Moore

On Monday, May 25, 2015 08:15:27 AM Lv Zheng wrote:
> From: Bob Moore <robert.moore@intel.com>
> 
> ACPICA commit 83727bed8f715685a63a9f668e73c60496a06054
> 
> Add original UUIDs/GUIDs to the acuuid.h file.
> Cleanup acpihelp output for UUIDs/GUIDs.
> 
> Link: https://github.com/acpica/acpica/commit/83727bed
> Signed-off-by: Bob Moore <robert.moore@intel.com>
> Signed-off-by: Lv Zheng <lv.zheng@intel.com>

This one and the [2/2] applied, thanks!

> ---
>  include/acpi/acuuid.h |   43 ++++++++++++++++++++++++++++++++++---------
>  1 file changed, 34 insertions(+), 9 deletions(-)
> 
> diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
> index 4955d5e..7c6cbb0 100644
> --- a/include/acpi/acuuid.h
> +++ b/include/acpi/acuuid.h
> @@ -50,15 +50,40 @@
>   * Note2: This file is standalone and should remain that way.
>   */
>  
> -/* NFIT/NVDIMM */
> +/* Controllers */
>  
> -#define UUID_VOLATILE_MEMORY            "4F940573-DAFD-E344-B16C-3F22D252E5D0"
> -#define UUID_PERSISTENT_MEMORY          "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
> -#define UUID_CONTROL_REGION             "F601F792-B413-5D40-910B-299367E8234C"
> -#define UUID_DATA_REGION                "3005AF91-865D-0E47-A6B0-0A2DB9408249"
> -#define UUID_VOLATILE_VIRTUAL_DISK      "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
> -#define UUID_VOLATILE_VIRTUAL_CD        "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
> -#define UUID_PERSISTENT_VIRTUAL_DISK    "C902EA5C-074D-69D3-269F-4496FBE096F9"
> -#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-CD42-48BB-100F-5387D53DED3D"
> +#define UUID_GPIO_CONTROLLER            "4f248f40-d5e2-499f-834c-27758ea1cd3f"
> +#define UUID_USB_CONTROLLER             "ce2ee385-00e6-48cb-9f05-2edb927c4899"
> +#define UUID_SATA_CONTROLLER            "e4db149b-fcfe-425b-a6d8-92357d78fc7f"
> +
> +/* Devices */
> +
> +#define UUID_PCI_HOST_BRIDGE            "33db4d5b-1ff7-401c-9657-7441c03dd766"
> +#define UUID_I2C_DEVICE                 "3cdff6f7-4267-4555-ad05-b30a3d8938de"
> +#define UUID_POWER_BUTTON               "dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c"
> +
> +/* Interfaces */
> +
> +#define UUID_DEVICE_LABELING            "e5c937d0-3553-4d7a-9117-ea4d19c3434d"
> +#define UUID_PHYSICAL_PRESENCE          "3dddfaa6-361b-4eb4-a424-8d10089d1653"
> +
> +/* NVDIMM - NFIT table */
> +
> +#define UUID_VOLATILE_MEMORY            "4f940573-dafd-e344-b16c-3f22d252e5d0"
> +#define UUID_PERSISTENT_MEMORY          "79d3f066-f3b4-7440-ac43-0d3318b78cdb"
> +#define UUID_CONTROL_REGION             "f601f792-b413-5d40-910b-299367e8234c"
> +#define UUID_DATA_REGION                "3005af91-865d-0e47-a6b0-0a2db9408249"
> +#define UUID_VOLATILE_VIRTUAL_DISK      "5a53ab77-fc45-4b62-5560-f7b281d1f96e"
> +#define UUID_VOLATILE_VIRTUAL_CD        "30bd5a3d-7541-ce87-6d64-d2ade523c4bb"
> +#define UUID_PERSISTENT_VIRTUAL_DISK    "c902ea5c-074d-69d3-269f-4496fbe096f9"
> +#define UUID_PERSISTENT_VIRTUAL_CD      "88810108-cd42-48bb-100f-5387d53ded3d"
> +
> +/* Miscellaneous */
> +
> +#define UUID_PLATFORM_CAPABILITIES      "0811b06e-4a27-44f9-8d60-3cbbc22e7b48"
> +#define UUID_DYNAMIC_ENUMERATION        "d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf"
> +#define UUID_BATTERY_THERMAL_LIMIT      "4c2067e3-887d-475c-9720-4af1d3ed602e"
> +#define UUID_THERMAL_EXTENSIONS         "14d399cd-7a27-4b18-8fb4-7cb7b9f4e500"
> +#define UUID_DEVICE_PROPERTIES          "daffd814-6eba-4d8c-8a91-bc9bbf4aa301"
>  
>  #endif				/* __AUUID_H__ */
> 

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2015-05-25 23:56 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-21  2:29 [PATCH 00/19] ACPICA: 20150515 Release Lv Zheng
2015-05-21  2:29 ` Lv Zheng
2015-05-21  2:30 ` [PATCH 01/19] ACPICA: Additional dragon_fly BSD support Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 02/19] ACPICA: ACPI 6.0: Add support for STAO table Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 03/19] ACPICA: ACPI 6.0: Add support for new predefined names Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 04/19] ACPICA: ACPI 6.0: Add support for XENV table Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 05/19] ACPICA: Parser: Move a couple externals to the proper header Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 06/19] ACPICA: iASL: Enhance detection of non-ascii or corrupted input files Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 07/19] ACPICA: ACPI 6.0: Add support for WPBT table Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 08/19] ACPICA: ACPI 6.0: Add changes for FADT table Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:30 ` [PATCH 09/19] ACPICA: ACPI 6.0: Add changes for LPIT table Lv Zheng
2015-05-21  2:30   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 10/19] ACPICA: Dispatcher: Fix a resource leak issue in acpi_ds_auto_serialize_method() Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 11/19] ACPICA: Hardware: Fix a resource leak issue in acpi_hw_build_pci_list() Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 12/19] ACPICA: ACPI 6.0: Add changes for MADT table Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21 14:36   ` Hanjun Guo
2015-05-21 14:36     ` Hanjun Guo
2015-05-22  0:16     ` Zheng, Lv
2015-05-22  0:16       ` Zheng, Lv
2015-05-23  0:02       ` Hanjun Guo
2015-05-23  0:02         ` Hanjun Guo
2015-05-21  2:31 ` [PATCH 13/19] ACPICA: ACPI 6.0: Add ACPI_SUB_PTR() Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 14/19] ACPICA: ACPI 6.0: Add support for IORT table Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 15/19] ACPICA: ACPI 6.0: Add changes for DRTM table Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 16/19] ACPICA: iASL/disassembler - fix possible fault for -e option Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 17/19] ACPICA: acpi_help: Add option to display all known/supported ACPI tables Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-21  2:31 ` [PATCH 18/19] ACPICA: ACPI 6.0: Add support for NFIT table Lv Zheng
2015-05-21  2:31   ` Lv Zheng
2015-05-22 15:17   ` Linda Knippers
2015-05-22 15:28     ` Moore, Robert
2015-05-22 21:53       ` Rafael J. Wysocki
2015-05-22 21:36         ` Moore, Robert
2015-05-22 21:36           ` Moore, Robert
2015-05-22 22:06           ` Rafael J. Wysocki
2015-05-22 16:12     ` Moore, Robert
2015-05-21  2:32 ` [PATCH 19/19] ACPICA: Update version to 20150515 Lv Zheng
2015-05-21  2:32   ` Lv Zheng
2015-05-22  2:06 ` [PATCH 00/19] ACPICA: 20150515 Release Rafael J. Wysocki
2015-05-25  0:15 ` [PATCH 1/2] ACPICA: acpihelp: Update for new NFIT table GUIDs Lv Zheng
2015-05-25  0:15   ` Lv Zheng
2015-05-26  0:21   ` Rafael J. Wysocki
2015-05-25  0:15 ` [PATCH 2/2] ACPICA: Fix for ill-formed GUID strings for NFIT tables Lv Zheng
2015-05-25  0:15   ` Lv Zheng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.