Message ID | 20240502051233.50749-1-jeeheng.sia@starfivetech.com (mailing list archive) |
---|---|
Headers | show |
Series | Upgrade ACPI SPCR table to support SPCR table version 4 format | expand |
Update the virt SPCR golden reference files to accommodate the
SPCR Table version 4 [1], utilizing the iasl binary compiled from the
latest ACPICA repository [2]. The SPCR table has been modified to
adhere to the version 4 format [3].
[1]: https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table
[2]: https://github.com/acpica/acpica
[3]: https://github.com/acpica/acpica/pull/931
Diffs from iasl:
@@ -1,32 +1,32 @@
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20240322 (64-bit version)
* Copyright (c) 2000 - 2023 Intel Corporation
*
- * Disassembly of tests/data/acpi/virt/SPCR
+ * Disassembly of /tmp/aml-HJ5IN2
*
* 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 : B1
+[004h 0004 004h] Table Length : 0000005A
+[008h 0008 001h] Revision : 04
+[009h 0009 001h] Checksum : 1D
[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 : 03
[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 : 03 [DWord Access:32]
[02Ch 0044 008h] Address : 0000000009000000
@@ -34,18 +34,29 @@
[035h 0053 001h] PCAT-compatible IRQ : 00
[036h 0054 004h] Interrupt : 00000021
[03Ah 0058 001h] Baud Rate : 03
[03Bh 0059 001h] Parity : 00
[03Ch 0060 001h] Stop Bits : 01
[03Dh 0061 001h] Flow Control : 02
[03Eh 0062 001h] Terminal Type : 00
[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 ***/
\ No newline at end of file
+[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 1D 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 03 00 00 00 00 20 00 03 00 00 00 09 // ......... ......
+ 0030: 00 00 00 00 08 00 21 00 00 00 03 00 01 02 00 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...
Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>
---
tests/data/acpi/virt/SPCR | Bin 80 -> 90 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/tests/data/acpi/virt/SPCR b/tests/data/acpi/virt/SPCR
index cf0f2b75226515097c08d2e2016a83a4f08812ba..acafd161ba2e2fdfbf081d4977ea05621152c9c9 100644
GIT binary patch
delta 27
hcmWHD;tCFM4vJ!6U|^A*$mPZbWH2x>L@?+v002b>1KR)q
delta 16
XcmazF;0g|K4hmpkU|`xfk;@GLAfp4(
On Thu, 2 May 2024 at 06:12, Sia Jee Heng <jeeheng.sia@starfivetech.com> wrote: > > Update the SPCR table to accommodate the SPCR Table version 4 [1]. > The SPCR table has been modified to adhere to the version 4 format [2]. > > Meanwhile, the virt SPCR golden reference files have been updated to > accommodate the SPCR Table version 4. > > [1]: https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table > [2]: https://github.com/acpica/acpica/pull/931 > > Sia Jee Heng (2): > tests/qtest/bios-tables-test: Update virt SPCR golden references > hw/acpi: Upgrade ACPI SPCR table to support SPCR table version 4 > format This isn't the right way to make a change that requires updates to the bios-tables-test reference files, because "make check" will fail after patch 1 but before patch 2. You need a three-patch approach. How to do that is documented in the comment at the top of bios-tables-test.c. The resulting three patches should look like: * patch 1 updates bios-tables-test-allowed-diff.h to mark the affected test or tests as "OK to fail" * patch 2 makes the changes to QEMU that alter the required table output * patch 3 updates the reference files and removes the tests from the allowed-diff file See for instance commits 6c1c2e912fcf9, 1ec896fe7ca938, ea2fde5bccc514 as an example. Side note: if riscv virt has APCI tables now, maybe we should add testing of them to the bios-tables-test ? thanks -- PMM
> -----Original Message----- > From: Peter Maydell <peter.maydell@linaro.org> > Sent: Thursday, May 2, 2024 5:19 PM > To: JeeHeng Sia <jeeheng.sia@starfivetech.com> > Cc: qemu-arm@nongnu.org; qemu-devel@nongnu.org; qemu-riscv@nongnu.org; mst@redhat.com; imammedo@redhat.com; > anisinha@redhat.com; shannon.zhaosl@gmail.com; sunilvl@ventanamicro.com; palmer@dabbelt.com; alistair.francis@wdc.com; > bin.meng@windriver.com; liwei1518@gmail.com; dbarboza@ventanamicro.com; zhiwei_liu@linux.alibaba.com > Subject: Re: [PATCH v1 0/2] Upgrade ACPI SPCR table to support SPCR table version 4 format > > On Thu, 2 May 2024 at 06:12, Sia Jee Heng <jeeheng.sia@starfivetech.com> wrote: > > > > Update the SPCR table to accommodate the SPCR Table version 4 [1]. > > The SPCR table has been modified to adhere to the version 4 format [2]. > > > > Meanwhile, the virt SPCR golden reference files have been updated to > > accommodate the SPCR Table version 4. > > > > [1]: https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table > > [2]: https://github.com/acpica/acpica/pull/931 > > > > Sia Jee Heng (2): > > tests/qtest/bios-tables-test: Update virt SPCR golden references > > hw/acpi: Upgrade ACPI SPCR table to support SPCR table version 4 > > format > > This isn't the right way to make a change that requires > updates to the bios-tables-test reference files, because > "make check" will fail after patch 1 but before patch 2. > > You need a three-patch approach. How to do that is documented > in the comment at the top of bios-tables-test.c. The resulting > three patches should look like: > * patch 1 updates bios-tables-test-allowed-diff.h to > mark the affected test or tests as "OK to fail" > * patch 2 makes the changes to QEMU that alter the > required table output > * patch 3 updates the reference files and removes the > tests from the allowed-diff file > > See for instance commits 6c1c2e912fcf9, 1ec896fe7ca938, > ea2fde5bccc514 as an example. Thank you for the guidance. I will improve the patch by referring to the example provided. > > Side note: if riscv virt has APCI tables now, maybe we > should add testing of them to the bios-tables-test ? Sure. I will make modifications based on the RISC-V test. > > thanks > -- PMM