qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] account for NVDIMM nodes during SRAT generation
@ 2020-06-06  0:09 Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 1/3] diffs-allowed: add the SRAT AML to diffs-allowed Vishal Verma
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Vishal Verma @ 2020-06-06  0:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, Michael S. Tsirkin,
	jingqi.liu, Dave Hansen, Eduardo Habkost, Vishal Verma,
	Paolo Bonzini, Igor Mammedov, Dan Williams, Richard Henderson

Changes since v4 (no code changes):
- Change the commit message in patch 2 to use memdev= instead of mem=
   which is deprecated (Igor)
- Add Igor's Reviewed-by

Changes since v3:
- Add the SRAT augmentation for ARM's virt-acpi-build as well (Igor)
- Update patches 1 and 3 for the test binaries to include ARM tests.

Changes since v2:
- Change a repetitive OBJECT(dev) to a stored 'Object' (Igor)
- No need to return 'numamem' back to build_srat (Igor)

Changes since v1:
- Use error_abort for getters (Igor)
- Free the device list (Igor)
- Refactor the NVDIMM related portion into hw/acpi/nvdimm.c (Igor)
- Rebase onto latest master
- Add Jingqi's Reviewed-by

On the command line, one can specify a NUMA node for NVDIMM devices. If
we set up the topology to give NVDIMMs their own nodes, i.e. not
containing any CPUs or regular memory, qemu doesn't populate SRAT memory
affinity structures for these nodes. However the NFIT does reference
those proximity domains.

As a result, Linux, while parsing the SRAT, fails to initialize node
related structures for these nodes, and they never end up in the
nodes_possible map. When these are onlined at a later point (via
hotplug), this causes problems.

I've followed the instructions in bios-tables-test.c to update the
expected SRAT binary, and the tests (make check) pass. Patches 1 and 3
are the relevant ones for the binary update.

Patch 2 is the main patch which changes SRAT generation.


Vishal Verma (3):
  diffs-allowed: add the SRAT AML to diffs-allowed
  hw/acpi/nvdimm: add a helper to augment SRAT generation
  tests/acpi: update expected SRAT files

 hw/acpi/nvdimm.c                 |  23 +++++++++++++++++++++++
 hw/arm/virt-acpi-build.c         |   4 ++++
 hw/i386/acpi-build.c             |   5 +++++
 include/hw/mem/nvdimm.h          |   1 +
 tests/data/acpi/pc/SRAT.dimmpxm  | Bin 392 -> 392 bytes
 tests/data/acpi/q35/SRAT.dimmpxm | Bin 392 -> 392 bytes
 tests/data/acpi/virt/SRAT.memhp  | Bin 186 -> 226 bytes
 7 files changed, 33 insertions(+)

-- 
2.26.2



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

* [PATCH v5 1/3] diffs-allowed: add the SRAT AML to diffs-allowed
  2020-06-06  0:09 [PATCH v5 0/3] account for NVDIMM nodes during SRAT generation Vishal Verma
@ 2020-06-06  0:09 ` Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 2/3] hw/acpi/nvdimm: add a helper to augment SRAT generation Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 3/3] tests/acpi: update expected SRAT files Vishal Verma
  2 siblings, 0 replies; 6+ messages in thread
From: Vishal Verma @ 2020-06-06  0:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, Michael S. Tsirkin,
	jingqi.liu, Dave Hansen, Eduardo Habkost, Vishal Verma,
	Paolo Bonzini, Igor Mammedov, Dan Williams, Richard Henderson

In anticipation of a change to the SRAT generation in qemu, add the AML
file to diffs-allowed.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..e8f2766a63 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,4 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/pc/SRAT.dimmpxm",
+"tests/data/acpi/q35/SRAT.dimmpxm",
+"tests/data/acpi/virt/SRAT.memhp",
-- 
2.26.2



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

* [PATCH v5 2/3] hw/acpi/nvdimm: add a helper to augment SRAT generation
  2020-06-06  0:09 [PATCH v5 0/3] account for NVDIMM nodes during SRAT generation Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 1/3] diffs-allowed: add the SRAT AML to diffs-allowed Vishal Verma
@ 2020-06-06  0:09 ` Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 3/3] tests/acpi: update expected SRAT files Vishal Verma
  2 siblings, 0 replies; 6+ messages in thread
From: Vishal Verma @ 2020-06-06  0:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, Michael S. Tsirkin,
	jingqi.liu, Dave Hansen, Eduardo Habkost, Vishal Verma,
	Paolo Bonzini, Igor Mammedov, Dan Williams, Richard Henderson

NVDIMMs can belong to their own proximity domains, as described by the
NFIT. In such cases, the SRAT needs to have Memory Affinity structures
in the SRAT for these NVDIMMs, otherwise Linux doesn't populate node
data structures properly during NUMA initialization. See the following
for an example failure case.

https://lore.kernel.org/linux-nvdimm/20200416225438.15208-1-vishal.l.verma@intel.com/

Introduce a new helper, nvdimm_build_srat(), and call it for both the
i386 and arm versions of 'build_srat()' to augment the SRAT with
memory affinity information for NVDIMMs.

The relevant command line options to exercise this are below. Nodes 0-1
contain CPUs and regular memory, and nodes 2-3 are the NVDIMM address
space.

    -object memory-backend-ram,id=mem0,size=2048M
    -numa node,nodeid=0,memdev=mem0,
    -numa cpu,node-id=0,socket-id=0
    -object memory-backend-ram,id=mem1,size=2048M
    -numa node,nodeid=1,memdev=mem1,
    -numa cpu,node-id=1,socket-id=1
    -numa node,nodeid=2,
    -object memory-backend-file,id=nvmem0,share,mem-path=nvdimm-0,size=16384M,align=1G
    -device nvdimm,memdev=nvmem0,id=nv0,label-size=2M,node=2
    -numa node,nodeid=3,
    -object memory-backend-file,id=nvmem1,share,mem-path=nvdimm-1,size=16384M,align=1G
    -device nvdimm,memdev=nvmem1,id=nv1,label-size=2M,node=3

Cc: Jingqi Liu <jingqi.liu@intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jingqi Liu <jingqi.liu@intel.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 hw/acpi/nvdimm.c         | 23 +++++++++++++++++++++++
 hw/arm/virt-acpi-build.c |  4 ++++
 hw/i386/acpi-build.c     |  5 +++++
 include/hw/mem/nvdimm.h  |  1 +
 4 files changed, 33 insertions(+)

diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c
index 9316d12b70..8f7cc16add 100644
--- a/hw/acpi/nvdimm.c
+++ b/hw/acpi/nvdimm.c
@@ -28,6 +28,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/uuid.h"
+#include "qapi/error.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/aml-build.h"
 #include "hw/acpi/bios-linker-loader.h"
@@ -1334,6 +1335,28 @@ static void nvdimm_build_ssdt(GArray *table_offsets, GArray *table_data,
     free_aml_allocator();
 }
 
+void nvdimm_build_srat(GArray *table_data)
+{
+    GSList *device_list = nvdimm_get_device_list();
+
+    for (; device_list; device_list = device_list->next) {
+        AcpiSratMemoryAffinity *numamem = NULL;
+        DeviceState *dev = device_list->data;
+        Object *obj = OBJECT(dev);
+        uint64_t addr, size;
+        int node;
+
+        node = object_property_get_int(obj, PC_DIMM_NODE_PROP, &error_abort);
+        addr = object_property_get_uint(obj, PC_DIMM_ADDR_PROP, &error_abort);
+        size = object_property_get_uint(obj, PC_DIMM_SIZE_PROP, &error_abort);
+
+        numamem = acpi_data_push(table_data, sizeof *numamem);
+        build_srat_memory(numamem, addr, size, node,
+                          MEM_AFFINITY_ENABLED | MEM_AFFINITY_NON_VOLATILE);
+    }
+    g_slist_free(device_list);
+}
+
 void nvdimm_build_acpi(GArray *table_offsets, GArray *table_data,
                        BIOSLinker *linker, NVDIMMState *state,
                        uint32_t ram_slots)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 1b0a584c7b..2cbccd5fe2 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -539,6 +539,10 @@ build_srat(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         }
     }
 
+    if (ms->nvdimms_state->is_enabled) {
+        nvdimm_build_srat(table_data);
+    }
+
     if (ms->device_memory) {
         numamem = acpi_data_push(table_data, sizeof *numamem);
         build_srat_memory(numamem, ms->device_memory->base,
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 2e15f6848e..d996525e2c 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2428,6 +2428,11 @@ build_srat(GArray *table_data, BIOSLinker *linker, MachineState *machine)
                               MEM_AFFINITY_ENABLED);
         }
     }
+
+    if (machine->nvdimms_state->is_enabled) {
+        nvdimm_build_srat(table_data);
+    }
+
     slots = (table_data->len - numa_start) / sizeof *numamem;
     for (; slots < pcms->numa_nodes + 2; slots++) {
         numamem = acpi_data_push(table_data, sizeof *numamem);
diff --git a/include/hw/mem/nvdimm.h b/include/hw/mem/nvdimm.h
index a3c08955e8..b67a1aedf6 100644
--- a/include/hw/mem/nvdimm.h
+++ b/include/hw/mem/nvdimm.h
@@ -155,6 +155,7 @@ typedef struct NVDIMMState NVDIMMState;
 void nvdimm_init_acpi_state(NVDIMMState *state, MemoryRegion *io,
                             struct AcpiGenericAddress dsm_io,
                             FWCfgState *fw_cfg, Object *owner);
+void nvdimm_build_srat(GArray *table_data);
 void nvdimm_build_acpi(GArray *table_offsets, GArray *table_data,
                        BIOSLinker *linker, NVDIMMState *state,
                        uint32_t ram_slots);
-- 
2.26.2



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

* [PATCH v5 3/3] tests/acpi: update expected SRAT files
  2020-06-06  0:09 [PATCH v5 0/3] account for NVDIMM nodes during SRAT generation Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 1/3] diffs-allowed: add the SRAT AML to diffs-allowed Vishal Verma
  2020-06-06  0:09 ` [PATCH v5 2/3] hw/acpi/nvdimm: add a helper to augment SRAT generation Vishal Verma
@ 2020-06-06  0:09 ` Vishal Verma
  2020-06-09 14:19   ` Michael S. Tsirkin
  2 siblings, 1 reply; 6+ messages in thread
From: Vishal Verma @ 2020-06-06  0:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, Michael S. Tsirkin,
	jingqi.liu, Dave Hansen, Eduardo Habkost, Vishal Verma,
	Paolo Bonzini, Igor Mammedov, Dan Williams, Richard Henderson

Update expected SRAT files for the change to account for NVDIMM NUMA
nodes in the SRAT.

AML diffs:

tests/data/acpi/pc/SRAT.dimmpxm:
--- /tmp/asl-3P2IL0.dsl	2020-05-28 15:11:02.326439263 -0600
+++ /tmp/asl-1N4IL0.dsl	2020-05-28 15:11:02.325439280 -0600
@@ -3,7 +3,7 @@
  * AML/ASL+ Disassembler version 20190509 (64-bit version)
  * Copyright (c) 2000 - 2019 Intel Corporation
  *
- * Disassembly of tests/data/acpi/pc/SRAT.dimmpxm, Thu May 28 15:11:02 2020
+ * Disassembly of /tmp/aml-4D4IL0, Thu May 28 15:11:02 2020
  *
  * ACPI Data Table [SRAT]
  *
@@ -13,7 +13,7 @@
 [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
 [004h 0004   4]                 Table Length : 00000188
 [008h 0008   1]                     Revision : 01
-[009h 0009   1]                     Checksum : 80
+[009h 0009   1]                     Checksum : 68
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
 [018h 0024   4]                 Oem Revision : 00000001
@@ -140,15 +140,15 @@
 [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
 [139h 0313   1]                       Length : 28

-[13Ah 0314   4]             Proximity Domain : 00000000
+[13Ah 0314   4]             Proximity Domain : 00000002
 [13Eh 0318   2]                    Reserved1 : 0000
-[140h 0320   8]                 Base Address : 0000000000000000
-[148h 0328   8]               Address Length : 0000000000000000
+[140h 0320   8]                 Base Address : 0000000108000000
+[148h 0328   8]               Address Length : 0000000008000000
 [150h 0336   4]                    Reserved2 : 00000000
-[154h 0340   4]        Flags (decoded below) : 00000000
-                                     Enabled : 0
+[154h 0340   4]        Flags (decoded below) : 00000005
+                                     Enabled : 1
                                Hot Pluggable : 0
-                                Non-Volatile : 0
+                                Non-Volatile : 1
 [158h 0344   8]                    Reserved3 : 0000000000000000

 [160h 0352   1]                Subtable Type : 01 [Memory Affinity]

tests/data/acpi/q35/SRAT.dimmpxm:
--- /tmp/asl-HW2LL0.dsl	2020-05-28 15:11:05.446384514 -0600
+++ /tmp/asl-8MYLL0.dsl	2020-05-28 15:11:05.445384532 -0600
@@ -3,7 +3,7 @@
  * AML/ASL+ Disassembler version 20190509 (64-bit version)
  * Copyright (c) 2000 - 2019 Intel Corporation
  *
- * Disassembly of tests/data/acpi/q35/SRAT.dimmpxm, Thu May 28 15:11:05 2020
+ * Disassembly of /tmp/aml-2CYLL0, Thu May 28 15:11:05 2020
  *
  * ACPI Data Table [SRAT]
  *
@@ -13,7 +13,7 @@
 [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
 [004h 0004   4]                 Table Length : 00000188
 [008h 0008   1]                     Revision : 01
-[009h 0009   1]                     Checksum : 80
+[009h 0009   1]                     Checksum : 68
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
 [018h 0024   4]                 Oem Revision : 00000001
@@ -140,15 +140,15 @@
 [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
 [139h 0313   1]                       Length : 28

-[13Ah 0314   4]             Proximity Domain : 00000000
+[13Ah 0314   4]             Proximity Domain : 00000002
 [13Eh 0318   2]                    Reserved1 : 0000
-[140h 0320   8]                 Base Address : 0000000000000000
-[148h 0328   8]               Address Length : 0000000000000000
+[140h 0320   8]                 Base Address : 0000000108000000
+[148h 0328   8]               Address Length : 0000000008000000
 [150h 0336   4]                    Reserved2 : 00000000
-[154h 0340   4]        Flags (decoded below) : 00000000
-                                     Enabled : 0
+[154h 0340   4]        Flags (decoded below) : 00000005
+                                     Enabled : 1
                                Hot Pluggable : 0
-                                Non-Volatile : 0
+                                Non-Volatile : 1
 [158h 0344   8]                    Reserved3 : 0000000000000000

 [160h 0352   1]                Subtable Type : 01 [Memory Affinity]

tests/data/acpi/virt/SRAT.memhp:
--- /tmp/asl-E32WL0.dsl	2020-05-28 15:19:56.976095582 -0600
+++ /tmp/asl-Y69WL0.dsl	2020-05-28 15:19:56.974095617 -0600
@@ -3,7 +3,7 @@
  * AML/ASL+ Disassembler version 20190509 (64-bit version)
  * Copyright (c) 2000 - 2019 Intel Corporation
  *
- * Disassembly of tests/data/acpi/virt/SRAT.memhp, Thu May 28 15:19:56 2020
+ * Disassembly of /tmp/aml-2CCXL0, Thu May 28 15:19:56 2020
  *
  * ACPI Data Table [SRAT]
  *
@@ -11,9 +11,9 @@
  */

 [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
-[004h 0004   4]                 Table Length : 000000BA
+[004h 0004   4]                 Table Length : 000000E2
 [008h 0008   1]                     Revision : 03
-[009h 0009   1]                     Checksum : 43
+[009h 0009   1]                     Checksum : 5C
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
 [018h 0024   4]                 Oem Revision : 00000001
@@ -65,18 +65,32 @@

 [094h 0148   4]             Proximity Domain : 00000001
 [098h 0152   2]                    Reserved1 : 0000
-[09Ah 0154   8]                 Base Address : 0000000080000000
-[0A2h 0162   8]               Address Length : 00000000F0000000
+[09Ah 0154   8]                 Base Address : 0000000088000000
+[0A2h 0162   8]               Address Length : 0000000008000000
 [0AAh 0170   4]                    Reserved2 : 00000000
-[0AEh 0174   4]        Flags (decoded below) : 00000003
+[0AEh 0174   4]        Flags (decoded below) : 00000005
+                                     Enabled : 1
+                               Hot Pluggable : 0
+                                Non-Volatile : 1
+[0B2h 0178   8]                    Reserved3 : 0000000000000000
+
+[0BAh 0186   1]                Subtable Type : 01 [Memory Affinity]
+[0BBh 0187   1]                       Length : 28
+
+[0BCh 0188   4]             Proximity Domain : 00000001
+[0C0h 0192   2]                    Reserved1 : 0000
+[0C2h 0194   8]                 Base Address : 0000000080000000
+[0CAh 0202   8]               Address Length : 00000000F0000000
+[0D2h 0210   4]                    Reserved2 : 00000000
+[0D6h 0214   4]        Flags (decoded below) : 00000003
                                      Enabled : 1
                                Hot Pluggable : 1
                                 Non-Volatile : 0
-[0B2h 0178   8]                    Reserved3 : 0000000000000000
+[0DAh 0218   8]                    Reserved3 : 0000000000000000

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 tests/data/acpi/pc/SRAT.dimmpxm             | Bin 392 -> 392 bytes
 tests/data/acpi/q35/SRAT.dimmpxm            | Bin 392 -> 392 bytes
 tests/data/acpi/virt/SRAT.memhp             | Bin 186 -> 226 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   3 ---
 4 files changed, 3 deletions(-)

diff --git a/tests/data/acpi/pc/SRAT.dimmpxm b/tests/data/acpi/pc/SRAT.dimmpxm
index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
GIT binary patch
delta 51
scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp

delta 51
icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx

diff --git a/tests/data/acpi/q35/SRAT.dimmpxm b/tests/data/acpi/q35/SRAT.dimmpxm
index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
GIT binary patch
delta 51
scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp

delta 51
icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx

diff --git a/tests/data/acpi/virt/SRAT.memhp b/tests/data/acpi/virt/SRAT.memhp
index 1b57db2072e7f7e2085c4a427aa31c7383851b71..9a35adb40c6f7cd822e5af37abba8aad033617cb 100644
GIT binary patch
delta 43
rcmdnR_=u4!ILI;N5d#AQbIe4p$wD1K76@=aC<X@BiSc3+=gI;A(y0ha

delta 21
dcmaFFxQmf1ILI+%7Xt$Wv-3o*$rF#t0suzv27~|r

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index e8f2766a63..dfb8523c8b 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,4 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/pc/SRAT.dimmpxm",
-"tests/data/acpi/q35/SRAT.dimmpxm",
-"tests/data/acpi/virt/SRAT.memhp",
-- 
2.26.2



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

* Re: [PATCH v5 3/3] tests/acpi: update expected SRAT files
  2020-06-06  0:09 ` [PATCH v5 3/3] tests/acpi: update expected SRAT files Vishal Verma
@ 2020-06-09 14:19   ` Michael S. Tsirkin
  2020-06-10 12:20     ` Igor Mammedov
  0 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2020-06-09 14:19 UTC (permalink / raw)
  To: Vishal Verma
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, jingqi.liu,
	Dave Hansen, qemu-devel, Eduardo Habkost, Paolo Bonzini,
	Igor Mammedov, Dan Williams, Richard Henderson

On Fri, Jun 05, 2020 at 06:09:11PM -0600, Vishal Verma wrote:
> Update expected SRAT files for the change to account for NVDIMM NUMA
> nodes in the SRAT.
> 
> AML diffs:
> 
> tests/data/acpi/pc/SRAT.dimmpxm:
> --- /tmp/asl-3P2IL0.dsl	2020-05-28 15:11:02.326439263 -0600
> +++ /tmp/asl-1N4IL0.dsl	2020-05-28 15:11:02.325439280 -0600
> @@ -3,7 +3,7 @@
>   * AML/ASL+ Disassembler version 20190509 (64-bit version)
>   * Copyright (c) 2000 - 2019 Intel Corporation
>   *
> - * Disassembly of tests/data/acpi/pc/SRAT.dimmpxm, Thu May 28 15:11:02 2020
> + * Disassembly of /tmp/aml-4D4IL0, Thu May 28 15:11:02 2020
>   *
>   * ACPI Data Table [SRAT]
>   *
> @@ -13,7 +13,7 @@
>  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
>  [004h 0004   4]                 Table Length : 00000188
>  [008h 0008   1]                     Revision : 01
> -[009h 0009   1]                     Checksum : 80
> +[009h 0009   1]                     Checksum : 68
>  [00Ah 0010   6]                       Oem ID : "BOCHS "
>  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
>  [018h 0024   4]                 Oem Revision : 00000001
> @@ -140,15 +140,15 @@
>  [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
>  [139h 0313   1]                       Length : 28
> 
> -[13Ah 0314   4]             Proximity Domain : 00000000
> +[13Ah 0314   4]             Proximity Domain : 00000002
>  [13Eh 0318   2]                    Reserved1 : 0000
> -[140h 0320   8]                 Base Address : 0000000000000000
> -[148h 0328   8]               Address Length : 0000000000000000
> +[140h 0320   8]                 Base Address : 0000000108000000
> +[148h 0328   8]               Address Length : 0000000008000000
>  [150h 0336   4]                    Reserved2 : 00000000
> -[154h 0340   4]        Flags (decoded below) : 00000000
> -                                     Enabled : 0
> +[154h 0340   4]        Flags (decoded below) : 00000005
> +                                     Enabled : 1
>                                 Hot Pluggable : 0
> -                                Non-Volatile : 0
> +                                Non-Volatile : 1
>  [158h 0344   8]                    Reserved3 : 0000000000000000
> 
>  [160h 0352   1]                Subtable Type : 01 [Memory Affinity]
> 
> tests/data/acpi/q35/SRAT.dimmpxm:
> --- /tmp/asl-HW2LL0.dsl	2020-05-28 15:11:05.446384514 -0600
> +++ /tmp/asl-8MYLL0.dsl	2020-05-28 15:11:05.445384532 -0600
> @@ -3,7 +3,7 @@
>   * AML/ASL+ Disassembler version 20190509 (64-bit version)
>   * Copyright (c) 2000 - 2019 Intel Corporation
>   *
> - * Disassembly of tests/data/acpi/q35/SRAT.dimmpxm, Thu May 28 15:11:05 2020
> + * Disassembly of /tmp/aml-2CYLL0, Thu May 28 15:11:05 2020
>   *
>   * ACPI Data Table [SRAT]
>   *
> @@ -13,7 +13,7 @@
>  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
>  [004h 0004   4]                 Table Length : 00000188
>  [008h 0008   1]                     Revision : 01
> -[009h 0009   1]                     Checksum : 80
> +[009h 0009   1]                     Checksum : 68
>  [00Ah 0010   6]                       Oem ID : "BOCHS "
>  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
>  [018h 0024   4]                 Oem Revision : 00000001
> @@ -140,15 +140,15 @@
>  [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
>  [139h 0313   1]                       Length : 28
> 
> -[13Ah 0314   4]             Proximity Domain : 00000000
> +[13Ah 0314   4]             Proximity Domain : 00000002
>  [13Eh 0318   2]                    Reserved1 : 0000
> -[140h 0320   8]                 Base Address : 0000000000000000
> -[148h 0328   8]               Address Length : 0000000000000000
> +[140h 0320   8]                 Base Address : 0000000108000000
> +[148h 0328   8]               Address Length : 0000000008000000
>  [150h 0336   4]                    Reserved2 : 00000000
> -[154h 0340   4]        Flags (decoded below) : 00000000
> -                                     Enabled : 0
> +[154h 0340   4]        Flags (decoded below) : 00000005
> +                                     Enabled : 1
>                                 Hot Pluggable : 0
> -                                Non-Volatile : 0
> +                                Non-Volatile : 1
>  [158h 0344   8]                    Reserved3 : 0000000000000000
> 
>  [160h 0352   1]                Subtable Type : 01 [Memory Affinity]
> 
> tests/data/acpi/virt/SRAT.memhp:
> --- /tmp/asl-E32WL0.dsl	2020-05-28 15:19:56.976095582 -0600
> +++ /tmp/asl-Y69WL0.dsl	2020-05-28 15:19:56.974095617 -0600
> @@ -3,7 +3,7 @@
>   * AML/ASL+ Disassembler version 20190509 (64-bit version)
>   * Copyright (c) 2000 - 2019 Intel Corporation
>   *
> - * Disassembly of tests/data/acpi/virt/SRAT.memhp, Thu May 28 15:19:56 2020
> + * Disassembly of /tmp/aml-2CCXL0, Thu May 28 15:19:56 2020
>   *
>   * ACPI Data Table [SRAT]
>   *
> @@ -11,9 +11,9 @@
>   */
> 
>  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
> -[004h 0004   4]                 Table Length : 000000BA
> +[004h 0004   4]                 Table Length : 000000E2
>  [008h 0008   1]                     Revision : 03
> -[009h 0009   1]                     Checksum : 43
> +[009h 0009   1]                     Checksum : 5C
>  [00Ah 0010   6]                       Oem ID : "BOCHS "
>  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
>  [018h 0024   4]                 Oem Revision : 00000001
> @@ -65,18 +65,32 @@
> 
>  [094h 0148   4]             Proximity Domain : 00000001
>  [098h 0152   2]                    Reserved1 : 0000
> -[09Ah 0154   8]                 Base Address : 0000000080000000
> -[0A2h 0162   8]               Address Length : 00000000F0000000
> +[09Ah 0154   8]                 Base Address : 0000000088000000
> +[0A2h 0162   8]               Address Length : 0000000008000000
>  [0AAh 0170   4]                    Reserved2 : 00000000
> -[0AEh 0174   4]        Flags (decoded below) : 00000003
> +[0AEh 0174   4]        Flags (decoded below) : 00000005
> +                                     Enabled : 1
> +                               Hot Pluggable : 0
> +                                Non-Volatile : 1
> +[0B2h 0178   8]                    Reserved3 : 0000000000000000
> +
> +[0BAh 0186   1]                Subtable Type : 01 [Memory Affinity]
> +[0BBh 0187   1]                       Length : 28
> +
> +[0BCh 0188   4]             Proximity Domain : 00000001
> +[0C0h 0192   2]                    Reserved1 : 0000
> +[0C2h 0194   8]                 Base Address : 0000000080000000
> +[0CAh 0202   8]               Address Length : 00000000F0000000
> +[0D2h 0210   4]                    Reserved2 : 00000000
> +[0D6h 0214   4]        Flags (decoded below) : 00000003
>                                       Enabled : 1
>                                 Hot Pluggable : 1
>                                  Non-Volatile : 0
> -[0B2h 0178   8]                    Reserved3 : 0000000000000000
> +[0DAh 0218   8]                    Reserved3 : 0000000000000000
> 
> Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>

So I went to apply this and notices that virt tests
did not seem to run. Igor did you notice this too?
Anyway, not this patch's fault.


> ---
>  tests/data/acpi/pc/SRAT.dimmpxm             | Bin 392 -> 392 bytes
>  tests/data/acpi/q35/SRAT.dimmpxm            | Bin 392 -> 392 bytes
>  tests/data/acpi/virt/SRAT.memhp             | Bin 186 -> 226 bytes
>  tests/qtest/bios-tables-test-allowed-diff.h |   3 ---
>  4 files changed, 3 deletions(-)
> 
> diff --git a/tests/data/acpi/pc/SRAT.dimmpxm b/tests/data/acpi/pc/SRAT.dimmpxm
> index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
> GIT binary patch
> delta 51
> scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp
> 
> delta 51
> icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx
> 
> diff --git a/tests/data/acpi/q35/SRAT.dimmpxm b/tests/data/acpi/q35/SRAT.dimmpxm
> index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
> GIT binary patch
> delta 51
> scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp
> 
> delta 51
> icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx
> 
> diff --git a/tests/data/acpi/virt/SRAT.memhp b/tests/data/acpi/virt/SRAT.memhp
> index 1b57db2072e7f7e2085c4a427aa31c7383851b71..9a35adb40c6f7cd822e5af37abba8aad033617cb 100644
> GIT binary patch
> delta 43
> rcmdnR_=u4!ILI;N5d#AQbIe4p$wD1K76@=aC<X@BiSc3+=gI;A(y0ha
> 
> delta 21
> dcmaFFxQmf1ILI+%7Xt$Wv-3o*$rF#t0suzv27~|r
> 
> diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
> index e8f2766a63..dfb8523c8b 100644
> --- a/tests/qtest/bios-tables-test-allowed-diff.h
> +++ b/tests/qtest/bios-tables-test-allowed-diff.h
> @@ -1,4 +1 @@
>  /* List of comma-separated changed AML files to ignore */
> -"tests/data/acpi/pc/SRAT.dimmpxm",
> -"tests/data/acpi/q35/SRAT.dimmpxm",
> -"tests/data/acpi/virt/SRAT.memhp",
> -- 
> 2.26.2



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

* Re: [PATCH v5 3/3] tests/acpi: update expected SRAT files
  2020-06-09 14:19   ` Michael S. Tsirkin
@ 2020-06-10 12:20     ` Igor Mammedov
  0 siblings, 0 replies; 6+ messages in thread
From: Igor Mammedov @ 2020-06-10 12:20 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Laurent Vivier, Thomas Huth, Xiao Guangrong, Vishal Verma,
	Dave Hansen, qemu-devel, Eduardo Habkost, jingqi.liu,
	Paolo Bonzini, Dan Williams, Richard Henderson

On Tue, 9 Jun 2020 10:19:14 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Fri, Jun 05, 2020 at 06:09:11PM -0600, Vishal Verma wrote:
> > Update expected SRAT files for the change to account for NVDIMM NUMA
> > nodes in the SRAT.
> > 
> > AML diffs:
> > 
> > tests/data/acpi/pc/SRAT.dimmpxm:
> > --- /tmp/asl-3P2IL0.dsl	2020-05-28 15:11:02.326439263 -0600
> > +++ /tmp/asl-1N4IL0.dsl	2020-05-28 15:11:02.325439280 -0600
> > @@ -3,7 +3,7 @@
> >   * AML/ASL+ Disassembler version 20190509 (64-bit version)
> >   * Copyright (c) 2000 - 2019 Intel Corporation
> >   *
> > - * Disassembly of tests/data/acpi/pc/SRAT.dimmpxm, Thu May 28 15:11:02 2020
> > + * Disassembly of /tmp/aml-4D4IL0, Thu May 28 15:11:02 2020
> >   *
> >   * ACPI Data Table [SRAT]
> >   *
> > @@ -13,7 +13,7 @@
> >  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
> >  [004h 0004   4]                 Table Length : 00000188
> >  [008h 0008   1]                     Revision : 01
> > -[009h 0009   1]                     Checksum : 80
> > +[009h 0009   1]                     Checksum : 68
> >  [00Ah 0010   6]                       Oem ID : "BOCHS "
> >  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
> >  [018h 0024   4]                 Oem Revision : 00000001
> > @@ -140,15 +140,15 @@
> >  [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
> >  [139h 0313   1]                       Length : 28
> > 
> > -[13Ah 0314   4]             Proximity Domain : 00000000
> > +[13Ah 0314   4]             Proximity Domain : 00000002
> >  [13Eh 0318   2]                    Reserved1 : 0000
> > -[140h 0320   8]                 Base Address : 0000000000000000
> > -[148h 0328   8]               Address Length : 0000000000000000
> > +[140h 0320   8]                 Base Address : 0000000108000000
> > +[148h 0328   8]               Address Length : 0000000008000000
> >  [150h 0336   4]                    Reserved2 : 00000000
> > -[154h 0340   4]        Flags (decoded below) : 00000000
> > -                                     Enabled : 0
> > +[154h 0340   4]        Flags (decoded below) : 00000005
> > +                                     Enabled : 1
> >                                 Hot Pluggable : 0
> > -                                Non-Volatile : 0
> > +                                Non-Volatile : 1
> >  [158h 0344   8]                    Reserved3 : 0000000000000000
> > 
> >  [160h 0352   1]                Subtable Type : 01 [Memory Affinity]
> > 
> > tests/data/acpi/q35/SRAT.dimmpxm:
> > --- /tmp/asl-HW2LL0.dsl	2020-05-28 15:11:05.446384514 -0600
> > +++ /tmp/asl-8MYLL0.dsl	2020-05-28 15:11:05.445384532 -0600
> > @@ -3,7 +3,7 @@
> >   * AML/ASL+ Disassembler version 20190509 (64-bit version)
> >   * Copyright (c) 2000 - 2019 Intel Corporation
> >   *
> > - * Disassembly of tests/data/acpi/q35/SRAT.dimmpxm, Thu May 28 15:11:05 2020
> > + * Disassembly of /tmp/aml-2CYLL0, Thu May 28 15:11:05 2020
> >   *
> >   * ACPI Data Table [SRAT]
> >   *
> > @@ -13,7 +13,7 @@
> >  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
> >  [004h 0004   4]                 Table Length : 00000188
> >  [008h 0008   1]                     Revision : 01
> > -[009h 0009   1]                     Checksum : 80
> > +[009h 0009   1]                     Checksum : 68
> >  [00Ah 0010   6]                       Oem ID : "BOCHS "
> >  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
> >  [018h 0024   4]                 Oem Revision : 00000001
> > @@ -140,15 +140,15 @@
> >  [138h 0312   1]                Subtable Type : 01 [Memory Affinity]
> >  [139h 0313   1]                       Length : 28
> > 
> > -[13Ah 0314   4]             Proximity Domain : 00000000
> > +[13Ah 0314   4]             Proximity Domain : 00000002
> >  [13Eh 0318   2]                    Reserved1 : 0000
> > -[140h 0320   8]                 Base Address : 0000000000000000
> > -[148h 0328   8]               Address Length : 0000000000000000
> > +[140h 0320   8]                 Base Address : 0000000108000000
> > +[148h 0328   8]               Address Length : 0000000008000000
> >  [150h 0336   4]                    Reserved2 : 00000000
> > -[154h 0340   4]        Flags (decoded below) : 00000000
> > -                                     Enabled : 0
> > +[154h 0340   4]        Flags (decoded below) : 00000005
> > +                                     Enabled : 1
> >                                 Hot Pluggable : 0
> > -                                Non-Volatile : 0
> > +                                Non-Volatile : 1
> >  [158h 0344   8]                    Reserved3 : 0000000000000000
> > 
> >  [160h 0352   1]                Subtable Type : 01 [Memory Affinity]
> > 
> > tests/data/acpi/virt/SRAT.memhp:
> > --- /tmp/asl-E32WL0.dsl	2020-05-28 15:19:56.976095582 -0600
> > +++ /tmp/asl-Y69WL0.dsl	2020-05-28 15:19:56.974095617 -0600
> > @@ -3,7 +3,7 @@
> >   * AML/ASL+ Disassembler version 20190509 (64-bit version)
> >   * Copyright (c) 2000 - 2019 Intel Corporation
> >   *
> > - * Disassembly of tests/data/acpi/virt/SRAT.memhp, Thu May 28 15:19:56 2020
> > + * Disassembly of /tmp/aml-2CCXL0, Thu May 28 15:19:56 2020
> >   *
> >   * ACPI Data Table [SRAT]
> >   *
> > @@ -11,9 +11,9 @@
> >   */
> > 
> >  [000h 0000   4]                    Signature : "SRAT"    [System Resource Affinity Table]
> > -[004h 0004   4]                 Table Length : 000000BA
> > +[004h 0004   4]                 Table Length : 000000E2
> >  [008h 0008   1]                     Revision : 03
> > -[009h 0009   1]                     Checksum : 43
> > +[009h 0009   1]                     Checksum : 5C
> >  [00Ah 0010   6]                       Oem ID : "BOCHS "
> >  [010h 0016   8]                 Oem Table ID : "BXPCSRAT"
> >  [018h 0024   4]                 Oem Revision : 00000001
> > @@ -65,18 +65,32 @@
> > 
> >  [094h 0148   4]             Proximity Domain : 00000001
> >  [098h 0152   2]                    Reserved1 : 0000
> > -[09Ah 0154   8]                 Base Address : 0000000080000000
> > -[0A2h 0162   8]               Address Length : 00000000F0000000
> > +[09Ah 0154   8]                 Base Address : 0000000088000000
> > +[0A2h 0162   8]               Address Length : 0000000008000000
> >  [0AAh 0170   4]                    Reserved2 : 00000000
> > -[0AEh 0174   4]        Flags (decoded below) : 00000003
> > +[0AEh 0174   4]        Flags (decoded below) : 00000005
> > +                                     Enabled : 1
> > +                               Hot Pluggable : 0
> > +                                Non-Volatile : 1
> > +[0B2h 0178   8]                    Reserved3 : 0000000000000000
> > +
> > +[0BAh 0186   1]                Subtable Type : 01 [Memory Affinity]
> > +[0BBh 0187   1]                       Length : 28
> > +
> > +[0BCh 0188   4]             Proximity Domain : 00000001
> > +[0C0h 0192   2]                    Reserved1 : 0000
> > +[0C2h 0194   8]                 Base Address : 0000000080000000
> > +[0CAh 0202   8]               Address Length : 00000000F0000000
> > +[0D2h 0210   4]                    Reserved2 : 00000000
> > +[0D6h 0214   4]        Flags (decoded below) : 00000003
> >                                       Enabled : 1
> >                                 Hot Pluggable : 1
> >                                  Non-Volatile : 0
> > -[0B2h 0178   8]                    Reserved3 : 0000000000000000
> > +[0DAh 0218   8]                    Reserved3 : 0000000000000000
> > 
> > Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>  
> 
> So I went to apply this and notices that virt tests
> did not seem to run. Igor did you notice this too?
> Anyway, not this patch's fault.
> 

It runs fine here on current master + patches 1-2
3/3 doesn't apply cleanly anymore.

> 
> > ---
> >  tests/data/acpi/pc/SRAT.dimmpxm             | Bin 392 -> 392 bytes
> >  tests/data/acpi/q35/SRAT.dimmpxm            | Bin 392 -> 392 bytes
> >  tests/data/acpi/virt/SRAT.memhp             | Bin 186 -> 226 bytes
> >  tests/qtest/bios-tables-test-allowed-diff.h |   3 ---
> >  4 files changed, 3 deletions(-)
> > 
> > diff --git a/tests/data/acpi/pc/SRAT.dimmpxm b/tests/data/acpi/pc/SRAT.dimmpxm
> > index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
> > GIT binary patch
> > delta 51
> > scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp
> > 
> > delta 51
> > icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx
> > 
> > diff --git a/tests/data/acpi/q35/SRAT.dimmpxm b/tests/data/acpi/q35/SRAT.dimmpxm
> > index f5c0267ea24bb404b6b4e687390140378fbdc3f1..5a13c61b9041c6045c29643bf93a111fb1c0c76a 100644
> > GIT binary patch
> > delta 51
> > scmeBR?qKE$4ss0XU}Rum%-G0fz$nec00kUCF%aN@Pz(&LlS3Je0lmQmhyVZp
> > 
> > delta 51
> > icmeBR?qKE$4ss0XU}RumY}m+Uz$ndt8%z#mGzI{_tp$hx
> > 
> > diff --git a/tests/data/acpi/virt/SRAT.memhp b/tests/data/acpi/virt/SRAT.memhp
> > index 1b57db2072e7f7e2085c4a427aa31c7383851b71..9a35adb40c6f7cd822e5af37abba8aad033617cb 100644
> > GIT binary patch
> > delta 43
> > rcmdnR_=u4!ILI;N5d#AQbIe4p$wD1K76@=aC<X@BiSc3+=gI;A(y0ha
> > 
> > delta 21
> > dcmaFFxQmf1ILI+%7Xt$Wv-3o*$rF#t0suzv27~|r
> > 
> > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
> > index e8f2766a63..dfb8523c8b 100644
> > --- a/tests/qtest/bios-tables-test-allowed-diff.h
> > +++ b/tests/qtest/bios-tables-test-allowed-diff.h
> > @@ -1,4 +1 @@
> >  /* List of comma-separated changed AML files to ignore */
> > -"tests/data/acpi/pc/SRAT.dimmpxm",
> > -"tests/data/acpi/q35/SRAT.dimmpxm",
> > -"tests/data/acpi/virt/SRAT.memhp",
> > -- 
> > 2.26.2  
> 



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

end of thread, other threads:[~2020-06-10 12:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-06  0:09 [PATCH v5 0/3] account for NVDIMM nodes during SRAT generation Vishal Verma
2020-06-06  0:09 ` [PATCH v5 1/3] diffs-allowed: add the SRAT AML to diffs-allowed Vishal Verma
2020-06-06  0:09 ` [PATCH v5 2/3] hw/acpi/nvdimm: add a helper to augment SRAT generation Vishal Verma
2020-06-06  0:09 ` [PATCH v5 3/3] tests/acpi: update expected SRAT files Vishal Verma
2020-06-09 14:19   ` Michael S. Tsirkin
2020-06-10 12:20     ` Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).