qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b
@ 2021-10-14 11:56 Eric Auger
  2021-10-14 11:56 ` [PATCH v3 1/3] tests/acpi: Get prepared for IORT E.b revision upgrade Eric Auger
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Eric Auger @ 2021-10-14 11:56 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

This series upgrades the ACPI IORT table up to the E.b
specification revision. One of the goal of this upgrade
is to allow the addition of RMR nodes along with the SMMUv3.

The latest IORT specification (ARM DEN 0049E.b) can be found at
IO Remapping Table - Platform Design Document
https://developer.arm.com/documentation/den0049/latest/

This series can be found at
https://github.com/eauger/qemu.git
branch: iort_Eb_v3

History:
v2 -> v3:
- comment on IORT node ID (Igor)
- single mapping disabled comment
- Added Jean and Igor's R-b
- added diff to patvch 3/3

v1 -> v2:
- fix Revision value in ITS and SMMUv3 nodes (Phil)
- Increment an identifier (Phil)

Eric Auger (3):
  tests/acpi: Get prepared for IORT E.b revision upgrade
  hw/arm/virt-acpi-build: IORT upgrade up to revision E.b
  tests/acpi: Generate reference blob for IORT rev E.b

 hw/arm/virt-acpi-build.c          |  48 ++++++++++++++++++------------
 tests/data/acpi/virt/IORT         | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.memhp   | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.numamem | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.pxb     | Bin 124 -> 128 bytes
 5 files changed, 29 insertions(+), 19 deletions(-)

-- 
2.26.3



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

* [PATCH v3 1/3] tests/acpi: Get prepared for IORT E.b revision upgrade
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
@ 2021-10-14 11:56 ` Eric Auger
  2021-10-14 11:56 ` [PATCH v3 2/3] hw/arm/virt-acpi-build: IORT upgrade up to revision E.b Eric Auger
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Eric Auger @ 2021-10-14 11:56 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

Ignore IORT till reference blob for E.b spec revision gets
added.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8bf..9a5a923d6b8 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,2 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/virt/IORT",
-- 
2.26.3



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

* [PATCH v3 2/3] hw/arm/virt-acpi-build: IORT upgrade up to revision E.b
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
  2021-10-14 11:56 ` [PATCH v3 1/3] tests/acpi: Get prepared for IORT E.b revision upgrade Eric Auger
@ 2021-10-14 11:56 ` Eric Auger
  2021-10-14 11:56 ` [PATCH v3 3/3] tests/acpi: Generate reference blob for IORT rev E.b Eric Auger
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Eric Auger @ 2021-10-14 11:56 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

Upgrade the IORT table from B to E.b specification
revision (ARM DEN 0049E.b).

The SMMUv3 and root complex node have additional
fields. Also unique IORT node identifiers are
introduced: they are generated in sequential order.
They are not cross-referenced though.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

---

v2 -> v3:
- added Jean and Igor's R-b
- added comment about node IDs in the commit msg (Igor)
---
 hw/arm/virt-acpi-build.c | 48 ++++++++++++++++++++++++----------------
 1 file changed, 29 insertions(+), 19 deletions(-)

diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index dd17a48c00e..d3bb4cba3ed 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -241,19 +241,20 @@ static void acpi_dsdt_add_tpm(Aml *scope, VirtMachineState *vms)
 #endif
 
 #define ID_MAPPING_ENTRY_SIZE 20
-#define SMMU_V3_ENTRY_SIZE 60
-#define ROOT_COMPLEX_ENTRY_SIZE 32
+#define SMMU_V3_ENTRY_SIZE 68
+#define ROOT_COMPLEX_ENTRY_SIZE 36
 #define IORT_NODE_OFFSET 48
 
 static void build_iort_id_mapping(GArray *table_data, uint32_t input_base,
                                   uint32_t id_count, uint32_t out_ref)
 {
-    /* Identity RID mapping covering the whole input RID range */
+    /* Table 4 ID mapping format */
     build_append_int_noprefix(table_data, input_base, 4); /* Input base */
     build_append_int_noprefix(table_data, id_count, 4); /* Number of IDs */
     build_append_int_noprefix(table_data, input_base, 4); /* Output base */
     build_append_int_noprefix(table_data, out_ref, 4); /* Output Reference */
-    build_append_int_noprefix(table_data, 0, 4); /* Flags */
+    /* Flags */
+    build_append_int_noprefix(table_data, 0 /* Single mapping (disabled) */, 4);
 }
 
 struct AcpiIortIdMapping {
@@ -298,7 +299,7 @@ static int iort_idmap_compare(gconstpointer a, gconstpointer b)
 /*
  * Input Output Remapping Table (IORT)
  * Conforms to "IO Remapping Table System Software on ARM Platforms",
- * Document number: ARM DEN 0049B, October 2015
+ * Document number: ARM DEN 0049E.b, Feb 2021
  */
 static void
 build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
@@ -307,10 +308,11 @@ build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
     const uint32_t iort_node_offset = IORT_NODE_OFFSET;
     size_t node_size, smmu_offset = 0;
     AcpiIortIdMapping *idmap;
+    uint32_t id = 0;
     GArray *smmu_idmaps = g_array_new(false, true, sizeof(AcpiIortIdMapping));
     GArray *its_idmaps = g_array_new(false, true, sizeof(AcpiIortIdMapping));
 
-    AcpiTable table = { .sig = "IORT", .rev = 0, .oem_id = vms->oem_id,
+    AcpiTable table = { .sig = "IORT", .rev = 3, .oem_id = vms->oem_id,
                         .oem_table_id = vms->oem_table_id };
     /* Table 2 The IORT */
     acpi_table_begin(&table, table_data);
@@ -358,12 +360,12 @@ build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
     build_append_int_noprefix(table_data, IORT_NODE_OFFSET, 4);
     build_append_int_noprefix(table_data, 0, 4); /* Reserved */
 
-    /* 3.1.1.3 ITS group node */
+    /* Table 12 ITS Group Format */
     build_append_int_noprefix(table_data, 0 /* ITS Group */, 1); /* Type */
     node_size =  20 /* fixed header size */ + 4 /* 1 GIC ITS Identifier */;
     build_append_int_noprefix(table_data, node_size, 2); /* Length */
-    build_append_int_noprefix(table_data, 0, 1); /* Revision */
-    build_append_int_noprefix(table_data, 0, 4); /* Reserved */
+    build_append_int_noprefix(table_data, 1, 1); /* Revision */
+    build_append_int_noprefix(table_data, id++, 4); /* Identifier */
     build_append_int_noprefix(table_data, 0, 4); /* Number of ID mappings */
     build_append_int_noprefix(table_data, 0, 4); /* Reference to ID Array */
     build_append_int_noprefix(table_data, 1, 4); /* Number of ITSs */
@@ -374,19 +376,19 @@ build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         int irq =  vms->irqmap[VIRT_SMMU] + ARM_SPI_BASE;
 
         smmu_offset = table_data->len - table.table_offset;
-        /* 3.1.1.2 SMMUv3 */
+        /* Table 9 SMMUv3 Format */
         build_append_int_noprefix(table_data, 4 /* SMMUv3 */, 1); /* Type */
         node_size =  SMMU_V3_ENTRY_SIZE + ID_MAPPING_ENTRY_SIZE;
         build_append_int_noprefix(table_data, node_size, 2); /* Length */
-        build_append_int_noprefix(table_data, 0, 1); /* Revision */
-        build_append_int_noprefix(table_data, 0, 4); /* Reserved */
+        build_append_int_noprefix(table_data, 4, 1); /* Revision */
+        build_append_int_noprefix(table_data, id++, 4); /* Identifier */
         build_append_int_noprefix(table_data, 1, 4); /* Number of ID mappings */
         /* Reference to ID Array */
         build_append_int_noprefix(table_data, SMMU_V3_ENTRY_SIZE, 4);
         /* Base address */
         build_append_int_noprefix(table_data, vms->memmap[VIRT_SMMU].base, 8);
         /* Flags */
-        build_append_int_noprefix(table_data, 1 /* COHACC OverrideNote */, 4);
+        build_append_int_noprefix(table_data, 1 /* COHACC Override */, 4);
         build_append_int_noprefix(table_data, 0, 4); /* Reserved */
         build_append_int_noprefix(table_data, 0, 8); /* VATOS address */
         /* Model */
@@ -395,35 +397,43 @@ build_iort(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         build_append_int_noprefix(table_data, irq + 1, 4); /* PRI */
         build_append_int_noprefix(table_data, irq + 3, 4); /* GERR */
         build_append_int_noprefix(table_data, irq + 2, 4); /* Sync */
+        build_append_int_noprefix(table_data, 0, 4); /* Proximity domain */
+        /* DeviceID mapping index (ignored since interrupts are GSIV based) */
+        build_append_int_noprefix(table_data, 0, 4);
 
         /* output IORT node is the ITS group node (the first node) */
         build_iort_id_mapping(table_data, 0, 0xFFFF, IORT_NODE_OFFSET);
     }
 
-    /* Table 16 Root Complex Node */
+    /* Table 17 Root Complex Node */
     build_append_int_noprefix(table_data, 2 /* Root complex */, 1); /* Type */
     node_size =  ROOT_COMPLEX_ENTRY_SIZE +
                  ID_MAPPING_ENTRY_SIZE * rc_mapping_count;
     build_append_int_noprefix(table_data, node_size, 2); /* Length */
-    build_append_int_noprefix(table_data, 0, 1); /* Revision */
-    build_append_int_noprefix(table_data, 0, 4); /* Reserved */
+    build_append_int_noprefix(table_data, 3, 1); /* Revision */
+    build_append_int_noprefix(table_data, id++, 4); /* Identifier */
     /* Number of ID mappings */
     build_append_int_noprefix(table_data, rc_mapping_count, 4);
     /* Reference to ID Array */
     build_append_int_noprefix(table_data, ROOT_COMPLEX_ENTRY_SIZE, 4);
 
-    /* Table 13 Memory access properties */
+    /* Table 14 Memory access properties */
     /* CCA: Cache Coherent Attribute */
     build_append_int_noprefix(table_data, 1 /* fully coherent */, 4);
     build_append_int_noprefix(table_data, 0, 1); /* AH: Note Allocation Hints */
     build_append_int_noprefix(table_data, 0, 2); /* Reserved */
-    /* MAF: Note Memory Access Flags */
-    build_append_int_noprefix(table_data, 0x3 /* CCA = CPM = DCAS = 1 */, 1);
+    /* Table 15 Memory Access Flags */
+    build_append_int_noprefix(table_data, 0x3 /* CCA = CPM = DACS = 1 */, 1);
 
     build_append_int_noprefix(table_data, 0, 4); /* ATS Attribute */
     /* MCFG pci_segment */
     build_append_int_noprefix(table_data, 0, 4); /* PCI Segment number */
 
+    /* Memory address size limit */
+    build_append_int_noprefix(table_data, 64, 1);
+
+    build_append_int_noprefix(table_data, 0, 3); /* Reserved */
+
     /* Output Reference */
     if (vms->iommu == VIRT_IOMMU_SMMUV3) {
         AcpiIortIdMapping *range;
-- 
2.26.3



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

* [PATCH v3 3/3] tests/acpi: Generate reference blob for IORT rev E.b
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
  2021-10-14 11:56 ` [PATCH v3 1/3] tests/acpi: Get prepared for IORT E.b revision upgrade Eric Auger
  2021-10-14 11:56 ` [PATCH v3 2/3] hw/arm/virt-acpi-build: IORT upgrade up to revision E.b Eric Auger
@ 2021-10-14 11:56 ` Eric Auger
  2021-10-14 12:05 ` [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Michael S. Tsirkin
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Eric Auger @ 2021-10-14 11:56 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

Re-generate reference blobs with rebuild-expected-aml.sh.

Differences reported by "make check V=1" are listed below
(IORT.numamem). Differences for other variants are similar.

 /*
  * Intel ACPI Component Architecture
  * AML/ASL+ Disassembler version 20180629 (64-bit version)
  * Copyright (c) 2000 - 2018 Intel Corporation
  *
- * Disassembly of tests/data/acpi/virt/IORT.numamem, Thu Oct 14 06:13:19 2021
+ * Disassembly of /tmp/aml-K8L9A1, Thu Oct 14 06:13:19 2021
  *
  * ACPI Data Table [IORT]
  *
  * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
  */

 [000h 0000   4]                    Signature : "IORT"    [IO Remapping Table]
-[004h 0004   4]                 Table Length : 0000007C
-[008h 0008   1]                     Revision : 00
-[009h 0009   1]                     Checksum : 07
+[004h 0004   4]                 Table Length : 00000080
+[008h 0008   1]                     Revision : 03
+[009h 0009   1]                     Checksum : B3
 [00Ah 0010   6]                       Oem ID : "BOCHS "
 [010h 0016   8]                 Oem Table ID : "BXPC    "
 [018h 0024   4]                 Oem Revision : 00000001
 [01Ch 0028   4]              Asl Compiler ID : "BXPC"
 [020h 0032   4]        Asl Compiler Revision : 00000001

 [024h 0036   4]                   Node Count : 00000002
 [028h 0040   4]                  Node Offset : 00000030
 [02Ch 0044   4]                     Reserved : 00000000

 [030h 0048   1]                         Type : 00
 [031h 0049   2]                       Length : 0018
-[033h 0051   1]                     Revision : 00
+[033h 0051   1]                     Revision : 01
 [034h 0052   4]                     Reserved : 00000000
 [038h 0056   4]                Mapping Count : 00000000
 [03Ch 0060   4]               Mapping Offset : 00000000

 [040h 0064   4]                     ItsCount : 00000001
 [044h 0068   4]                  Identifiers : 00000000

 [048h 0072   1]                         Type : 02
-[049h 0073   2]                       Length : 0034
-[04Bh 0075   1]                     Revision : 00
-[04Ch 0076   4]                     Reserved : 00000000
+[049h 0073   2]                       Length : 0038
+[04Bh 0075   1]                     Revision : 03
+[04Ch 0076   4]                     Reserved : 00000001
 [050h 0080   4]                Mapping Count : 00000001
-[054h 0084   4]               Mapping Offset : 00000020
+[054h 0084   4]               Mapping Offset : 00000024

 [058h 0088   8]            Memory Properties : [IORT Memory Access Properties]
 [058h 0088   4]              Cache Coherency : 00000001
 [05Ch 0092   1]        Hints (decoded below) : 00
                                    Transient : 0
                               Write Allocate : 0
                                Read Allocate : 0
                                     Override : 0
 [05Dh 0093   2]                     Reserved : 0000
 [05Fh 0095   1] Memory Flags (decoded below) : 03
                                    Coherency : 1
                             Device Attribute : 1
 [060h 0096   4]                ATS Attribute : 00000000
 [064h 0100   4]           PCI Segment Number : 00000000
-[068h 0104   1]            Memory Size Limit : 00
+[068h 0104   1]            Memory Size Limit : 40
 [069h 0105   3]                     Reserved : 000000

-[068h 0104   4]                   Input base : 00000000
-[06Ch 0108   4]                     ID Count : 0000FFFF
-[070h 0112   4]                  Output Base : 00000000
-[074h 0116   4]             Output Reference : 00000030
-[078h 0120   4]        Flags (decoded below) : 00000000
+[06Ch 0108   4]                   Input base : 00000000
+[070h 0112   4]                     ID Count : 0000FFFF
+[074h 0116   4]                  Output Base : 00000000
+[078h 0120   4]             Output Reference : 00000030
+[07Ch 0124   4]        Flags (decoded below) : 00000000
                               Single Mapping : 0

-Raw Table Data: Length 124 (0x7C)
+Raw Table Data: Length 128 (0x80)

-    0000: 49 4F 52 54 7C 00 00 00 00 07 42 4F 43 48 53 20  // IORT|.....BOCHS
+    0000: 49 4F 52 54 80 00 00 00 03 B3 42 4F 43 48 53 20  // IORT......BOCHS
     0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
     0020: 01 00 00 00 02 00 00 00 30 00 00 00 00 00 00 00  // ........0.......
-    0030: 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // ................
-    0040: 01 00 00 00 00 00 00 00 02 34 00 00 00 00 00 00  // .........4......
-    0050: 01 00 00 00 20 00 00 00 01 00 00 00 00 00 00 03  // .... ...........
-    0060: 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00  // ................
-    0070: 00 00 00 00 30 00 00 00 00 00 00 00              // ....0.......
+    0030: 00 18 00 01 00 00 00 00 00 00 00 00 00 00 00 00  // ................
+    0040: 01 00 00 00 00 00 00 00 02 38 00 03 01 00 00 00  // .........8......
+    0050: 01 00 00 00 24 00 00 00 01 00 00 00 00 00 00 03  // ....$...........
+    0060: 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00  // ........@.......
+    0070: FF FF 00 00 00 00 00 00 30 00 00 00 00 00 00 00  // ........0.......
**

Signed-off-by: Eric Auger <eric.auger@redhat.com>

---

v2 -> v3:
- add diff (Igor)
---
 tests/data/acpi/virt/IORT                   | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.memhp             | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.numamem           | Bin 124 -> 128 bytes
 tests/data/acpi/virt/IORT.pxb               | Bin 124 -> 128 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   1 -
 5 files changed, 1 deletion(-)

diff --git a/tests/data/acpi/virt/IORT b/tests/data/acpi/virt/IORT
index 521acefe9ba66706c5607321a82d330586f3f280..7efd0ce8a6b3928efa7e1373f688ab4c5f50543b 100644
GIT binary patch
literal 128
zcmebD4+?2uU|?Y0?Bwt45v<@85#X!<1dKp25F11@0kHuPgMkDCNC*yK93~3}W)K^M
VRiHGGVg_O`aDdYP|3ers^8jQz3IPBB

literal 124
zcmebD4+^Pa00MR=e`k+i1*eDrX9XZ&1PX!JAesq?4S*O7Bw!2(4Uz`|CKCt^;wu0#
QRGb+i3L*dhhtM#y0PN=p0RR91

diff --git a/tests/data/acpi/virt/IORT.memhp b/tests/data/acpi/virt/IORT.memhp
index 521acefe9ba66706c5607321a82d330586f3f280..7efd0ce8a6b3928efa7e1373f688ab4c5f50543b 100644
GIT binary patch
literal 128
zcmebD4+?2uU|?Y0?Bwt45v<@85#X!<1dKp25F11@0kHuPgMkDCNC*yK93~3}W)K^M
VRiHGGVg_O`aDdYP|3ers^8jQz3IPBB

literal 124
zcmebD4+^Pa00MR=e`k+i1*eDrX9XZ&1PX!JAesq?4S*O7Bw!2(4Uz`|CKCt^;wu0#
QRGb+i3L*dhhtM#y0PN=p0RR91

diff --git a/tests/data/acpi/virt/IORT.numamem b/tests/data/acpi/virt/IORT.numamem
index 521acefe9ba66706c5607321a82d330586f3f280..7efd0ce8a6b3928efa7e1373f688ab4c5f50543b 100644
GIT binary patch
literal 128
zcmebD4+?2uU|?Y0?Bwt45v<@85#X!<1dKp25F11@0kHuPgMkDCNC*yK93~3}W)K^M
VRiHGGVg_O`aDdYP|3ers^8jQz3IPBB

literal 124
zcmebD4+^Pa00MR=e`k+i1*eDrX9XZ&1PX!JAesq?4S*O7Bw!2(4Uz`|CKCt^;wu0#
QRGb+i3L*dhhtM#y0PN=p0RR91

diff --git a/tests/data/acpi/virt/IORT.pxb b/tests/data/acpi/virt/IORT.pxb
index 521acefe9ba66706c5607321a82d330586f3f280..7efd0ce8a6b3928efa7e1373f688ab4c5f50543b 100644
GIT binary patch
literal 128
zcmebD4+?2uU|?Y0?Bwt45v<@85#X!<1dKp25F11@0kHuPgMkDCNC*yK93~3}W)K^M
VRiHGGVg_O`aDdYP|3ers^8jQz3IPBB

literal 124
zcmebD4+^Pa00MR=e`k+i1*eDrX9XZ&1PX!JAesq?4S*O7Bw!2(4Uz`|CKCt^;wu0#
QRGb+i3L*dhhtM#y0PN=p0RR91

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index 9a5a923d6b8..dfb8523c8bf 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,2 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/virt/IORT",
-- 
2.26.3



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

* Re: [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
                   ` (2 preceding siblings ...)
  2021-10-14 11:56 ` [PATCH v3 3/3] tests/acpi: Generate reference blob for IORT rev E.b Eric Auger
@ 2021-10-14 12:05 ` Michael S. Tsirkin
  2021-10-15  0:43   ` Richard Henderson
  2021-10-14 12:06 ` Eric Auger
  2021-10-15  0:49 ` Richard Henderson
  5 siblings, 1 reply; 8+ messages in thread
From: Michael S. Tsirkin @ 2021-10-14 12:05 UTC (permalink / raw)
  To: Eric Auger
  Cc: peter.maydell, drjones, gshan, jean-philippe, qemu-devel,
	shameerali.kolothum.thodi, shannon.zhaosl, qemu-arm, imammedo,
	philmd, ardb, eric.auger.pro

On Thu, Oct 14, 2021 at 01:56:40PM +0200, Eric Auger wrote:
> This series upgrades the ACPI IORT table up to the E.b
> specification revision. One of the goal of this upgrade
> is to allow the addition of RMR nodes along with the SMMUv3.
> 
> The latest IORT specification (ARM DEN 0049E.b) can be found at
> IO Remapping Table - Platform Design Document
> https://developer.arm.com/documentation/den0049/latest/
> 
> This series can be found at
> https://github.com/eauger/qemu.git
> branch: iort_Eb_v3

ACPI things look good

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

ARM only so ARM tree?

> History:
> v2 -> v3:
> - comment on IORT node ID (Igor)
> - single mapping disabled comment
> - Added Jean and Igor's R-b
> - added diff to patvch 3/3
> 
> v1 -> v2:
> - fix Revision value in ITS and SMMUv3 nodes (Phil)
> - Increment an identifier (Phil)
> 
> Eric Auger (3):
>   tests/acpi: Get prepared for IORT E.b revision upgrade
>   hw/arm/virt-acpi-build: IORT upgrade up to revision E.b
>   tests/acpi: Generate reference blob for IORT rev E.b
> 
>  hw/arm/virt-acpi-build.c          |  48 ++++++++++++++++++------------
>  tests/data/acpi/virt/IORT         | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.memhp   | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.numamem | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.pxb     | Bin 124 -> 128 bytes
>  5 files changed, 29 insertions(+), 19 deletions(-)
> 
> -- 
> 2.26.3



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

* Re: [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
                   ` (3 preceding siblings ...)
  2021-10-14 12:05 ` [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Michael S. Tsirkin
@ 2021-10-14 12:06 ` Eric Auger
  2021-10-15  0:49 ` Richard Henderson
  5 siblings, 0 replies; 8+ messages in thread
From: Eric Auger @ 2021-10-14 12:06 UTC (permalink / raw)
  To: eric.auger.pro, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

Hi,

On 10/14/21 1:56 PM, Eric Auger wrote:
> This series upgrades the ACPI IORT table up to the E.b
> specification revision. One of the goal of this upgrade
> is to allow the addition of RMR nodes along with the SMMUv3.

while I have sent a separate RFC to expose RMR nodes along with SMMUv3 I
must aknowledge this will take time to be upstreamed (SMMUv3 nested
stage thingy), if ever, and this anyway requires additional time to mature:
- there is one problem with the IORT spec which mandates 1 RMR node per
BDF and also
- there is the issue of the boot preserve_config which was known to
introduce some regressions and which is also mandated by the IORT spec.

So I wanted to emphasize that this IORT upgrade does not come at the
moment with any new feature. My understanding is old guests should work
fine with this new revision but if you feel that's a bad thing, please
raise your voice.

Thanks

Eric
>
> The latest IORT specification (ARM DEN 0049E.b) can be found at
> IO Remapping Table - Platform Design Document
> https://developer.arm.com/documentation/den0049/latest/
>
> This series can be found at
> https://github.com/eauger/qemu.git
> branch: iort_Eb_v3
>
> History:
> v2 -> v3:
> - comment on IORT node ID (Igor)
> - single mapping disabled comment
> - Added Jean and Igor's R-b
> - added diff to patvch 3/3
>
> v1 -> v2:
> - fix Revision value in ITS and SMMUv3 nodes (Phil)
> - Increment an identifier (Phil)
>
> Eric Auger (3):
>   tests/acpi: Get prepared for IORT E.b revision upgrade
>   hw/arm/virt-acpi-build: IORT upgrade up to revision E.b
>   tests/acpi: Generate reference blob for IORT rev E.b
>
>  hw/arm/virt-acpi-build.c          |  48 ++++++++++++++++++------------
>  tests/data/acpi/virt/IORT         | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.memhp   | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.numamem | Bin 124 -> 128 bytes
>  tests/data/acpi/virt/IORT.pxb     | Bin 124 -> 128 bytes
>  5 files changed, 29 insertions(+), 19 deletions(-)
>



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

* Re: [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b
  2021-10-14 12:05 ` [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Michael S. Tsirkin
@ 2021-10-15  0:43   ` Richard Henderson
  0 siblings, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2021-10-15  0:43 UTC (permalink / raw)
  To: Michael S. Tsirkin, Eric Auger
  Cc: peter.maydell, drjones, gshan, jean-philippe, qemu-devel,
	shameerali.kolothum.thodi, shannon.zhaosl, qemu-arm, imammedo,
	philmd, ardb, eric.auger.pro

On 10/14/21 5:05 AM, Michael S. Tsirkin wrote:
> On Thu, Oct 14, 2021 at 01:56:40PM +0200, Eric Auger wrote:
>> This series upgrades the ACPI IORT table up to the E.b
>> specification revision. One of the goal of this upgrade
>> is to allow the addition of RMR nodes along with the SMMUv3.
>>
>> The latest IORT specification (ARM DEN 0049E.b) can be found at
>> IO Remapping Table - Platform Design Document
>> https://developer.arm.com/documentation/den0049/latest/
>>
>> This series can be found at
>> https://github.com/eauger/qemu.git
>> branch: iort_Eb_v3
> 
> ACPI things look good
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 
> ARM only so ARM tree?

Sure, I can take it through target-arm.


r~


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

* Re: [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b
  2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
                   ` (4 preceding siblings ...)
  2021-10-14 12:06 ` Eric Auger
@ 2021-10-15  0:49 ` Richard Henderson
  5 siblings, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2021-10-15  0:49 UTC (permalink / raw)
  To: Eric Auger, eric.auger.pro, imammedo, mst, philmd, peter.maydell,
	shannon.zhaosl, shameerali.kolothum.thodi, ardb, jean-philippe,
	qemu-arm, qemu-devel, drjones
  Cc: gshan

On 10/14/21 4:56 AM, Eric Auger wrote:
> This series upgrades the ACPI IORT table up to the E.b
> specification revision. One of the goal of this upgrade
> is to allow the addition of RMR nodes along with the SMMUv3.
> 
> The latest IORT specification (ARM DEN 0049E.b) can be found at
> IO Remapping Table - Platform Design Document
> https://developer.arm.com/documentation/den0049/latest/
> 
> This series can be found at
> https://github.com/eauger/qemu.git
> branch: iort_Eb_v3

Queued for target-arm.


r~


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

end of thread, other threads:[~2021-10-15  0:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-14 11:56 [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Eric Auger
2021-10-14 11:56 ` [PATCH v3 1/3] tests/acpi: Get prepared for IORT E.b revision upgrade Eric Auger
2021-10-14 11:56 ` [PATCH v3 2/3] hw/arm/virt-acpi-build: IORT upgrade up to revision E.b Eric Auger
2021-10-14 11:56 ` [PATCH v3 3/3] tests/acpi: Generate reference blob for IORT rev E.b Eric Auger
2021-10-14 12:05 ` [PATCH v3 0/3] hw/arm/virt_acpi_build: Upgrate the IORT table up to revision E.b Michael S. Tsirkin
2021-10-15  0:43   ` Richard Henderson
2021-10-14 12:06 ` Eric Auger
2021-10-15  0:49 ` Richard Henderson

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).