According to the ACPI Serial Port Console Redirection Table (SPCR)
specification, the field order after Flow Control is:

  - Terminal Type (offset 62, 1 byte)
  - Language (offset 63, 1 byte)

This fixes:
  - tests/data/acpi/loongarch64/virt/SPCR
  - tests/data/acpi/riscv64/virt/SPCR

Diffs from iasl:
 /*
  * Intel ACPI Component Architecture
  * AML/ASL+ Disassembler version 20250404 (64-bit version)
  * Copyright (c) 2000 - 2025 Intel Corporation
  *
- * Disassembly of tests/data/acpi/riscv64/virt/SPCR
+ * Disassembly of /tmp/aml-3fYW7T
  *
  * ACPI Data Table [SPCR]
  *
  * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue (in 
hex)
  */

 [000h 0000 004h]                   Signature : "SPCR"    [Serial Port Console 
Redirection Table]
 [004h 0004 004h]                Table Length : 0000005A
 [008h 0008 001h]                    Revision : 04
 [009h 0009 001h]                    Checksum : 13
 [00Ah 0010 006h]                      Oem ID : "BOCHS "
 [010h 0016 008h]                Oem Table ID : "BXPC    "
 [018h 0024 004h]                Oem Revision : 00000001
 [01Ch 0028 004h]             Asl Compiler ID : "BXPC"
 [020h 0032 004h]       Asl Compiler Revision : 00000001

 [024h 0036 001h]              Interface Type : 12
 [025h 0037 003h]                    Reserved : 000000

 [028h 0040 00Ch]        Serial Port Register : [Generic Address Structure]
 [028h 0040 001h]                    Space ID : 00 [SystemMemory]
 [029h 0041 001h]                   Bit Width : 20
 [02Ah 0042 001h]                  Bit Offset : 00
 [02Bh 0043 001h]        Encoded Access Width : 01 [Byte Access:8]
 [02Ch 0044 008h]                     Address : 0000000010000000

 [034h 0052 001h]              Interrupt Type : 10
 [035h 0053 001h]         PCAT-compatible IRQ : 00
 [036h 0054 004h]                   Interrupt : 0000000A
 [03Ah 0058 001h]                   Baud Rate : 07
 [03Bh 0059 001h]                      Parity : 00
 [03Ch 0060 001h]                   Stop Bits : 01
 [03Dh 0061 001h]                Flow Control : 00
-[03Eh 0062 001h]               Terminal Type : 00
-[03Fh 0063 001h]                    Language : 03
+[03Eh 0062 001h]               Terminal Type : 03
+[03Fh 0063 001h]                    Language : 00
 [040h 0064 002h]               PCI Device ID : FFFF
 [042h 0066 002h]               PCI Vendor ID : FFFF
 [044h 0068 001h]                     PCI Bus : 00
 [045h 0069 001h]                  PCI Device : 00
 [046h 0070 001h]                PCI Function : 00
 [047h 0071 004h]                   PCI Flags : 00000000
 [04Bh 0075 001h]                 PCI Segment : 00
 [04Ch 0076 004h]             Uart Clock Freq : 00000000
 [050h 0080 004h]           Precise Baud rate : 00000000
 [054h 0084 002h]       NameSpaceStringLength : 0002
 [056h 0086 002h]       NameSpaceStringOffset : 0058
 [058h 0088 002h]             NamespaceString : "."

 Raw Table Data: Length 90 (0x5A)

     0000: 53 50 43 52 5A 00 00 00 04 13 42 4F 43 48 53 20  // SPCRZ.....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 12 00 00 00 00 20 00 01 00 00 00 10  // ......... ......
-    0030: 00 00 00 00 10 00 0A 00 00 00 07 00 01 00 00 03  // ................
+    0030: 00 00 00 00 10 00 0A 00 00 00 07 00 01 00 03 00  // ................
     0040: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00  // ................
     0050: 00 00 00 00 02 00 58 00 2E 00                    // ......X...

 /*
  * Intel ACPI Component Architecture
  * AML/ASL+ Disassembler version 20250404 (64-bit version)
  * Copyright (c) 2000 - 2025 Intel Corporation
  *
- * Disassembly of tests/data/acpi/loongarch64/virt/SPCR
+ * Disassembly of /tmp/aml-Z0WhKt
  *
  * ACPI Data Table [SPCR]
  *
  * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue (in 
hex)
  */

 [000h 0000 004h]                   Signature : "SPCR"    [Serial Port Console 
Redirection Table]
 [004h 0004 004h]                Table Length : 00000050
 [008h 0008 001h]                    Revision : 02
 [009h 0009 001h]                    Checksum : C1
 [00Ah 0010 006h]                      Oem ID : "BOCHS "
 [010h 0016 008h]                Oem Table ID : "BXPC    "
 [018h 0024 004h]                Oem Revision : 00000001
 [01Ch 0028 004h]             Asl Compiler ID : "BXPC"
 [020h 0032 004h]       Asl Compiler Revision : 00000001

 [024h 0036 001h]              Interface Type : 00
 [025h 0037 003h]                    Reserved : 000000

 [028h 0040 00Ch]        Serial Port Register : [Generic Address Structure]
 [028h 0040 001h]                    Space ID : 00 [SystemMemory]
 [029h 0041 001h]                   Bit Width : 20
 [02Ah 0042 001h]                  Bit Offset : 00
 [02Bh 0043 001h]        Encoded Access Width : 01 [Byte Access:8]
 [02Ch 0044 008h]                     Address : 000000001FE001E0

 [034h 0052 001h]              Interrupt Type : 00
 [035h 0053 001h]         PCAT-compatible IRQ : 00
 [036h 0054 004h]                   Interrupt : 00000042
 [03Ah 0058 001h]                   Baud Rate : 07
 [03Bh 0059 001h]                      Parity : 00
 [03Ch 0060 001h]                   Stop Bits : 01
 [03Dh 0061 001h]                Flow Control : 00
-[03Eh 0062 001h]               Terminal Type : 00
-[03Fh 0063 001h]                    Language : 03
+[03Eh 0062 001h]               Terminal Type : 03
+[03Fh 0063 001h]                    Language : 00
 [040h 0064 002h]               PCI Device ID : FFFF
 [042h 0066 002h]               PCI Vendor ID : FFFF
 [044h 0068 001h]                     PCI Bus : 00
 [045h 0069 001h]                  PCI Device : 00
 [046h 0070 001h]                PCI Function : 00
 [047h 0071 004h]                   PCI Flags : 00000000
 [04Bh 0075 001h]                 PCI Segment : 00
 [04Ch 0076 004h]             Uart Clock Freq : 00000000
 /**** ACPI table terminates in the middle of a data structure! (dump table)
 CurrentOffset: 50, TableLength: 50 ***/

Reference:
https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/serial-port-console-redirection-table

Signed-off-by: Xiang W <[email protected]>
---
 tests/data/acpi/loongarch64/virt/SPCR       | Bin 80 -> 80 bytes
 tests/data/acpi/riscv64/virt/SPCR           | Bin 90 -> 90 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   1 -
 3 files changed, 1 deletion(-)

diff --git a/tests/data/acpi/loongarch64/virt/SPCR 
b/tests/data/acpi/loongarch64/virt/SPCR
index 
3cc9bbcfb8051e632592d9db0fe3dba0af53ed8d..7bb819cd0d2ad20269e40e4a738709a45260cbb2
 100644
GIT binary patch
delta 23
TcmWFtm|!Qw%<vxw7?1z}S|J61

delta 23
TcmWFtm|!Qw!2BNw7?1z}S{?;}

diff --git a/tests/data/acpi/riscv64/virt/SPCR 
b/tests/data/acpi/riscv64/virt/SPCR
index 
09617f8793a6f7b1f08172f735b58aa748671540..59d2c8f7f215a604612cbd0294c18bc6301e208a
 100644
GIT binary patch
delta 10
Rcma!wnqbGo%rMbG3IGpM0&@TW

delta 10
Rcma!wnqbGoz&z1G3IGpJ0&@TW

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h 
b/tests/qtest/bios-tables-test-allowed-diff.h
index aae973048a..dfb8523c8b 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/riscv64/virt/SPCR",
-- 
2.47.3


Reply via email to