All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Xiang W <wangxiang@iscas.ac.cn>
Cc: qemu-devel@nongnu.org, mst@redhat.com, anisinha@redhat.com,
	peter.maydell@linaro.org
Subject: Re: [PATCH v2 3/3] tests/qtest/bios-tables-test: Fix Terminal Type and Language field order in SPCR table
Date: Wed, 3 Jun 2026 12:52:26 +0200	[thread overview]
Message-ID: <20260603125226.0f501343@imammedo> (raw)
In-Reply-To: <20260529023100.42508-4-wangxiang@iscas.ac.cn>

On Fri, 29 May 2026 10:31:00 +0800
Xiang W <wangxiang@iscas.ac.cn> 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 <imammedo@redhat.com>

> 
> 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 <wangxiang@iscas.ac.cn>
> ---
>  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	other threads:[~2026-06-03 10:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-29  2:30 [PATCH v2 0/3] acpi: Fix Terminal Type and Language field order in SPCR table Xiang W
2026-05-29  2:30 ` [PATCH v2 1/3] qtest: allow SPCR acpi table changes Xiang W
2026-06-03 10:51   ` Igor Mammedov
2026-05-29  2:30 ` [PATCH v2 2/3] hw/acpi: Fix Terminal Type and Language field order in SPCR table Xiang W
2026-06-03 10:51   ` Igor Mammedov
2026-05-29  2:31 ` [PATCH v2 3/3] tests/qtest/bios-tables-test: " Xiang W
2026-06-03 10:52   ` Igor Mammedov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260603125226.0f501343@imammedo \
    --to=imammedo@redhat.com \
    --cc=anisinha@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wangxiang@iscas.ac.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.