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