On Fri, 29 May 2026 10:31:00 +0800
Xiang W <[email protected]> wrote:

> 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

Acked-by: Igor Mammedov <[email protected]>

> 
> 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",


Reply via email to