diff mbox series

[2/2] fwts-test: sync up with iort test to version E.e

Message ID 20230822100658.88705-2-ivan.hu@canonical.com
State Accepted
Headers show
Series [1/2] acpi: iort: update IORT table to specification version E.e | expand

Commit Message

Ivan Hu Aug. 22, 2023, 10:06 a.m. UTC
Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
 fwts-test/iort-0001/acpidump-0001.log |  19 ++++-
 fwts-test/iort-0001/acpidump-0002.log |  21 +++++-
 fwts-test/iort-0001/iort-0001.log     |  59 ++++++++++++++-
 fwts-test/iort-0001/iort-0002.log     | 102 ++++++++++++++++++++++----
 4 files changed, 180 insertions(+), 21 deletions(-)
diff mbox series

Patch

diff --git a/fwts-test/iort-0001/acpidump-0001.log b/fwts-test/iort-0001/acpidump-0001.log
index 7631f6e5..1a43a911 100644
--- a/fwts-test/iort-0001/acpidump-0001.log
+++ b/fwts-test/iort-0001/acpidump-0001.log
@@ -24,9 +24,9 @@  FACP @ 0x00000000
   00f0: 00 00 00 00                                      ....
 
 IORT @ 0x00000000
-  0000: 49 4f 52 54 84 01 00 00 05 06 50 54 4c 20 20 20  IORT............
+  0000: 49 4f 52 54 5C 02 00 00 05 06 50 54 4c 20 20 20  IORT............
   0010: 57 48 45 41 50 54 4c 20 00 00 04 06 50 54 4c 20  ................
-  0020: 01 00 00 00 04 00 00 00 30 00 00 00 00 00 00 00  ................
+  0020: 01 00 00 00 07 00 00 00 30 00 00 00 00 00 00 00  ................
   0030: 00 20 00 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
   0040: 03 00 00 00 04 03 02 01 08 07 06 05 0c 0b 0a 09  ................
   0050: 01 50 00 04 00 00 00 00 02 00 00 00 24 00 00 00  ................
@@ -48,4 +48,17 @@  IORT @ 0x00000000
   0150: c0 80 00 f0 01 00 00 00 80 80 00 f0 01 00 00 00  ................
   0160: 40 80 00 f0 01 00 00 00 00 80 00 f0 01 00 00 00  ................
   0170: 00 00 ff ff 01 00 00 00 20 30 40 50 00 00 00 00  ................
-  0180: 01 00 00 00                                      ....            
+  0180: 01 00 00 00 04 58 00 04 00 00 00 00 01 00 00 00  .....X..........
+  0190: 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  D...............
+  01A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  01B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  01C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  01D0: 00 00 00 00 00 00 00 00 00 00 00 00 05 3C 00 02  .............<..
+  01E0: 00 00 00 00 01 00 00 00 28 00 00 00 00 00 00 00  ........(.......
+  01F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0210: 00 00 00 00 01 00 00 00 06 44 00 03 00 00 00 00  .........D......
+  0220: 01 00 00 00 30 00 00 00 00 00 00 00 01 00 00 00  ....0...........
+  0230: 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0250: 00 00 00 00 00 00 00 00 00 00 00 00              ............           
diff --git a/fwts-test/iort-0001/acpidump-0002.log b/fwts-test/iort-0001/acpidump-0002.log
index cb20c407..ffcf0319 100644
--- a/fwts-test/iort-0001/acpidump-0002.log
+++ b/fwts-test/iort-0001/acpidump-0002.log
@@ -24,9 +24,9 @@  FACP @ 0x00000000
   00f0: 00 00 00 00                                      ....
 
 IORT @ 0x00000000
-  0000: 49 4f 52 54 84 01 00 00 05 06 50 54 4c 20 20 20  IORT............
+  0000: 49 4f 52 54 5C 02 00 00 05 06 50 54 4c 20 20 20  IORT............
   0010: 57 48 45 41 50 54 4c 20 00 00 04 06 50 54 4c 20  ................
-  0020: 01 00 00 00 05 00 00 00 30 00 00 00 00 00 00 00  ................
+  0020: 01 00 00 00 07 00 00 00 30 00 00 00 00 00 00 00  ................
   0030: 00 20 00 03 00 00 00 00 80 00 00 00 e0 00 00 00  ................
   0040: 04 00 00 00 04 03 02 01 08 07 06 05 0c 0b 0a 09  ................
   0050: 01 50 00 05 00 00 00 00 03 00 00 00 24 00 00 00  ................
@@ -38,7 +38,7 @@  IORT @ 0x00000000
   00b0: d1 00 00 00 fe 00 80 03 03 00 00 00 ff ee bb c0  ................
   00c0: 08 00 00 00 00 00 00 00 02 00 00 00 03 00 00 00  ................
   00d0: 04 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00  ................
-  00e0: 03 94 00 a0 00 81 00 00 01 00 00 00 90 00 00 00  ................
+  00e0: 03 a4 00 a0 00 81 00 00 01 00 00 00 90 00 00 00  ................
   00f0: 00 80 90 20 c0 30 10 f0 00 00 00 20 00 00 00 00  ................
   0100: 06 00 00 00 aa 00 00 00 3c 00 00 00 04 00 00 00  ................
   0110: 50 00 00 00 05 00 00 00 70 00 00 00 f0 00 00 00  ................
@@ -48,4 +48,17 @@  IORT @ 0x00000000
   0150: c0 80 00 f0 aa 00 00 00 80 80 00 f0 ab 00 00 00  ................
   0160: 40 80 00 f0 92 00 00 00 00 80 00 f0 04 00 00 00  ................
   0170: 00 00 ff ff ff 00 00 00 20 30 40 50 00 00 00 00  ................
-  0180: 01 00 00 00                                      ....            
+  0180: 01 00 00 00 04 58 00 05 00 00 00 00 01 00 00 00  .....X..........
+  0190: 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff  D...............
+  01A0: aa bb cc dd 00 00 00 00 00 00 00 00 05 00 00 00  ................
+  01B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  01C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  01D0: 00 00 00 00 00 00 00 00 00 00 00 00 05 3C 00 03  .............<..
+  01E0: 00 00 00 00 01 00 00 00 28 00 00 00 00 00 00 00  ........(.......
+  01F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0210: 00 00 00 00 01 00 00 00 06 44 00 05 00 00 00 00  .........D......
+  0220: 01 00 00 00 30 00 00 00 dd cc bb aa 01 00 00 00  ....0...........
+  0230: 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0240: 00 00 00 00 aa bb cc dd 00 00 00 00 00 00 00 00  ................
+  0250: 00 00 00 00 00 00 00 00 00 00 00 ff              ............     
diff --git a/fwts-test/iort-0001/iort-0001.log b/fwts-test/iort-0001/iort-0001.log
index a2049059..8a2d624e 100644
--- a/fwts-test/iort-0001/iort-0001.log
+++ b/fwts-test/iort-0001/iort-0001.log
@@ -2,7 +2,7 @@  iort            iort: IORT IO Remapping Table test.
 iort            ----------------------------------------------------------
 iort            Test 1 of 1: IORT IO Remapping Table test.
 iort            IORT IO Remapping Table test
-iort              Number of IORT Nodes:     0x00000004
+iort              Number of IORT Nodes:     0x00000007
 iort              IORT Node Array Offset:   0x00000030
 iort              Reserved:                 0x00000000
 iort            
@@ -115,6 +115,63 @@  iort              Output Base:              0x50403020
 iort              Output Reference:         0x00000000
 iort              Flags:                    0x00000001
 iort            
+iort            IORT SMMUv3 node:
+iort              Type:                     0x04
+iort              Length:                   0x0058
+iort              Revision:                 0x04
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000044
+iort              Base Address:             0x0000000000000000
+iort              Flags:                    0x00000000
+iort              Reserved:                 0x00000000
+iort              VATOS Address:            0x0000000000000000
+iort              Model:                    0x00000000
+iort              Event:                    0x00000000
+iort              PRI:                      0x00000000
+iort              GERR:                     0x00000000
+iort              Sync:                     0x00000000
+iort              Proximity Domain:         0x00000000
+iort              DeviceId Mapping Index:   0x00000000
+iort            ID Mapping 0
+iort              Input Base:               0x00000000
+iort              ID Count:                 0x00000000
+iort              Output Base:              0x00000000
+iort              Output Reference:         0x00000000
+iort              Flags:                    0x00000000
+iort            
+iort            IORT PMCG node:
+iort              Type:                     0x05
+iort              Length:                   0x003c
+iort              Revision:                 0x02
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000028
+iort              Base Address:             0x0000000000000000
+iort              Overflow interrupt GSIV:  0x00000000
+iort              Node reference:           0x00000000
+iort              Page 1 Base Address:      0x0000000000000000
+iort            ID Mapping 0
+iort              Input Base:               0x00000000
+iort              ID Count:                 0x00000000
+iort              Output Base:              0x00000000
+iort              Output Reference:         0x00000000
+iort              Flags:                    0x00000001
+iort            
+iort            IORT RMR node:
+iort              Type:                     0x06
+iort              Length:                   0x0044
+iort              Revision:                 0x03
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000030
+iort              Flags:		    0x00000000
+iort              Number of memory range descriptors:    0x00000001
+iort              Reference to memory range descriptors: 0x0000001c
+iort                Physical Range offset:               0x0000000000000000
+iort                Physical Range length:               0x0000000000000000
+iort                Reserved:                            0x00000000
+iort            
 iort            PASSED: Test 1, No issues found in IORT.
 iort            
 iort            ==========================================================
diff --git a/fwts-test/iort-0001/iort-0002.log b/fwts-test/iort-0001/iort-0002.log
index c4604382..313b4dc8 100644
--- a/fwts-test/iort-0001/iort-0002.log
+++ b/fwts-test/iort-0001/iort-0002.log
@@ -2,7 +2,7 @@  iort            iort: IORT IO Remapping Table test.
 iort            ----------------------------------------------------------
 iort            Test 1 of 1: IORT IO Remapping Table test.
 iort            IORT IO Remapping Table test
-iort              Number of IORT Nodes:     0x00000005
+iort              Number of IORT Nodes:     0x00000007
 iort              IORT Node Array Offset:   0x00000030
 iort              Reserved:                 0x00000000
 iort            
@@ -114,7 +114,7 @@  iort            too small.
 iort            
 iort            IORT SMMU node:
 iort              Type:                     0x03
-iort              Length:                   0x0094
+iort              Length:                   0x00a4
 iort              Revision:                 0xa0
 iort              Identifier:               0x00008100
 iort              Number of ID mappings:    0x00000001
@@ -151,6 +151,14 @@  iort              GSIV:                     0xf0008040
 iort              Interrupt Flags:          0x00000092
 iort              GSIV:                     0xf0008000
 iort              Interrupt Flags:          0x00000004
+iort              GSIV:                     0xffff0000
+iort              Interrupt Flags:          0x000000ff
+iort            ID Mapping 0
+iort              Input Base:               0xffff0000
+iort              ID Count:                 0x000000ff
+iort              Output Base:              0x50403020
+iort              Output Reference:         0x00000000
+iort              Flags:                    0x00000001
 iort            FAILED [LOW] IORTNodeRevisionInvalid: Test 1, IORT Node
 iort            Revision field is 0xa0 and should be less than 4.
 iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT
@@ -175,24 +183,92 @@  iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT
 iort            SMMU_GSV Bits [31..1] must be zero, got 0x00000092 instead
 iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT
 iort            SMMU_GSV Bits [31..1] must be zero, got 0x00000004 instead
-iort            FAILED [HIGH] IORTSmmuInterruptsOutsideTable: Test 1, IORT
-iort            SMMU Interrupt 4 is outside the IORT ACPI table. Either
-iort            the offset is incorrect or the IORT table size is too
-iort            small.
-iort            FAILED [HIGH] IORTIdMappingOutsideTable: Test 1, IORT ID
-iort            Mapping 0 is outside the IORT ACPI table. Either the
-iort            offset is incorrect or the IORT table size or the node is
-iort            too small.
+iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT
+iort            SMMU_GSV Bits [31..1] must be zero, got 0x000000ff instead
 iort            FAILED [HIGH] IORTSmmuInvalidModel: Test 1, IORT SMMU
 iort            Model is 0x6 and was expecting a model value 0 to 5.
 iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT SMMU
 iort            Reserved Flags Bits [31..2] must be zero, got 0x000000aa
 iort            instead
 iort            
-iort            FAILED [HIGH] IORTInvalidType: Test 1, IORT Type 0xff is
-iort            invalid, aborting check
+iort            IORT SMMUv3 node:
+iort              Type:                     0x04
+iort              Length:                   0x0058
+iort              Revision:                 0x05
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000044
+iort              Base Address:             0x0000000000000000
+iort              Flags:                    0xff000000
+iort              Reserved:                 0xddccbbaa
+iort              VATOS Address:            0x0000000000000000
+iort              Model:                    0x00000005
+iort              Event:                    0x00000000
+iort              PRI:                      0x00000000
+iort              GERR:                     0x00000000
+iort              Sync:                     0x00000000
+iort              Proximity Domain:         0x00000000
+iort              DeviceId Mapping Index:   0x00000000
+iort            ID Mapping 0
+iort              Input Base:               0x00000000
+iort              ID Count:                 0x00000000
+iort              Output Base:              0x00000000
+iort              Output Reference:         0x00000000
+iort              Flags:                    0x00000000
+iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT SMMUv3
+iort            Reserved Flags Bits [31..5] must be zero, got 0xff000000
+iort            instead
+iort            FAILED [MEDIUM] IORTReservedNonZero: Test 1, IORT Reserved
+iort            field must be zero, got 0xddccbbaa instead
+iort            FAILED [HIGH] IORTSmmuv3InvalidModel: Test 1, IORT SMMUv3
+iort            Model is 0x5 and was expecting a model value less than 3.
+iort            
+iort            IORT PMCG node:
+iort              Type:                     0x05
+iort              Length:                   0x003c
+iort              Revision:                 0x03
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000028
+iort              Base Address:             0x0000000000000000
+iort              Overflow interrupt GSIV:  0x00000000
+iort              Node reference:           0x00000000
+iort              Page 1 Base Address:      0x0000000000000000
+iort            ID Mapping 0
+iort              Input Base:               0x00000000
+iort              ID Count:                 0x00000000
+iort              Output Base:              0x00000000
+iort              Output Reference:         0x00000000
+iort              Flags:                    0x00000001
+iort            FAILED [LOW] IORTNodeRevisionInvalid: Test 1, IORT Node
+iort            Revision field is 0x03 and should be less than 3.
+iort            
+iort            IORT RMR node:
+iort              Type:                     0x06
+iort              Length:                   0x0044
+iort              Revision:                 0x05
+iort              Identifier:               0x00000000
+iort              Number of ID mappings:    0x00000001
+iort              Reference to ID Array:    0x00000030
+iort              Flags:		    0xaabbccdd
+iort              Number of memory range descriptors:    0x00000001
+iort              Reference to memory range descriptors: 0x0000001c
+iort            FAILED [LOW] IORTNodeRevisionInvalid: Test 1, IORT Node
+iort            Revision field is 0x05 and should be less than 4.
+iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT ID
+iort            Mapping 0 flags Bits [31..1] must be zero, got 0xff000000
+iort            instead
+iort            FAILED [HIGH] IORTReservedBitsNonZero: Test 1, IORT RMR
+iort            Reserved Flags Bits [31..10] must be zero, got 0xaabbccdd
+iort            instead
+iort                Physical Range offset:               0x0000000000000000
+iort                Physical Range length:               0x0000000000000000
+iort                Reserved:                            0xddccbbaa
+iort            FAILED [MEDIUM] IORTReservedNonZero: Test 1, IORT Reserved
+iort            field must be zero, got 0xddccbbaa instead
+iort            
 iort            
 iort            ==========================================================
-iort            0 passed, 30 failed, 0 warning, 0 aborted, 0 skipped, 0
+iort            0 passed, 36 failed, 0 warning, 0 aborted, 0 skipped, 0
 iort            info only.
 iort            ==========================================================