* [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table @ 2021-09-06 12:31 Eric Auger 2021-09-06 12:31 ` [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test Eric Auger ` (4 more replies) 0 siblings, 5 replies; 9+ messages in thread From: Eric Auger @ 2021-09-06 12:31 UTC (permalink / raw) To: eric.auger.pro, eric.auger, mst, imammedo, philmd, peter.maydell, shannon.zhaosl, qemu-arm, qemu-devel, ardb, drjones Cc: gshan This series generates the ACPI DBG2 table along with machvirt. It applies on top of Igor's [PATCH v2 00/35] acpi: refactor error prone build_header() and packed structures usage in ACPI tables The DBG2 specification can be found at https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table. DBG2 is mandated by ARM SBBR since its v1.0 release (the rationale behind is Windows requires it on all systems). The DBG2 is used to describe a debug port, used by the kernel debugger. This series and its dependency can be found at https://github.com/eauger/qemu.git branch: dbg2-v2-igor-v2-fix History: v1 -> v2: - rebase on top of Igor's series and use acpi_init_table/acpi_table_composed and build_append_int_noprefix() Eric Auger (3): tests/acpi: Add void table for virt/DBG2 bios-tables-test bios-tables-test: Generate reference table for virt/DBG2 hw/arm/virt_acpi_build: Generate DBG2 table hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++- tests/data/acpi/virt/DBG2 | Bin 0 -> 87 bytes 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 tests/data/acpi/virt/DBG2 -- 2.26.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger @ 2021-09-06 12:31 ` Eric Auger 2021-09-07 10:20 ` Igor Mammedov 2021-09-06 12:31 ` [PATCH v2 2/3] bios-tables-test: Generate reference table for virt/DBG2 Eric Auger ` (3 subsequent siblings) 4 siblings, 1 reply; 9+ messages in thread From: Eric Auger @ 2021-09-06 12:31 UTC (permalink / raw) To: eric.auger.pro, eric.auger, mst, imammedo, philmd, peter.maydell, shannon.zhaosl, qemu-arm, qemu-devel, ardb, drjones Cc: gshan Add placeholders for DBG2 reference table for virt tests and ignore this later for the time being. Signed-off-by: Eric Auger <eric.auger@redhat.com> --- tests/data/acpi/virt/DBG2 | 0 tests/qtest/bios-tables-test-allowed-diff.h | 1 + 2 files changed, 1 insertion(+) create mode 100644 tests/data/acpi/virt/DBG2 diff --git a/tests/data/acpi/virt/DBG2 b/tests/data/acpi/virt/DBG2 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8bf..1910d154c27 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/virt/DBG2", -- 2.26.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test 2021-09-06 12:31 ` [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test Eric Auger @ 2021-09-07 10:20 ` Igor Mammedov 0 siblings, 0 replies; 9+ messages in thread From: Igor Mammedov @ 2021-09-07 10:20 UTC (permalink / raw) To: Eric Auger Cc: peter.maydell, drjones, gshan, mst, qemu-devel, shannon.zhaosl, qemu-arm, philmd, ardb, eric.auger.pro On Mon, 6 Sep 2021 14:31:37 +0200 Eric Auger <eric.auger@redhat.com> wrote: > Add placeholders for DBG2 reference table for > virt tests and ignore this later for the time being. s/ignore.*/ignore till reference blob is added / > > Signed-off-by: Eric Auger <eric.auger@redhat.com> Acked-by: Igor Mammedov <imammedo@redhat.com> > --- > tests/data/acpi/virt/DBG2 | 0 > tests/qtest/bios-tables-test-allowed-diff.h | 1 + > 2 files changed, 1 insertion(+) > create mode 100644 tests/data/acpi/virt/DBG2 > > diff --git a/tests/data/acpi/virt/DBG2 b/tests/data/acpi/virt/DBG2 > new file mode 100644 > index 00000000000..e69de29bb2d > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h > index dfb8523c8bf..1910d154c27 100644 > --- a/tests/qtest/bios-tables-test-allowed-diff.h > +++ b/tests/qtest/bios-tables-test-allowed-diff.h > @@ -1 +1,2 @@ > /* List of comma-separated changed AML files to ignore */ > +"tests/data/acpi/virt/DBG2", ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/3] bios-tables-test: Generate reference table for virt/DBG2 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger 2021-09-06 12:31 ` [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test Eric Auger @ 2021-09-06 12:31 ` Eric Auger 2021-09-06 12:31 ` [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger ` (2 subsequent siblings) 4 siblings, 0 replies; 9+ messages in thread From: Eric Auger @ 2021-09-06 12:31 UTC (permalink / raw) To: eric.auger.pro, eric.auger, mst, imammedo, philmd, peter.maydell, shannon.zhaosl, qemu-arm, qemu-devel, ardb, drjones Cc: gshan Add the DBG2 table generated with tests/data/acpi/rebuild-expected-aml.sh Signed-off-by: Eric Auger <eric.auger@redhat.com> --- Tested by comparing the content with the table generated by EDK2 along with the SBSA-REF machine (code generated by DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c). I reused the Generic Address Structure filled by QEMU in the SPCR, ie. bit_width = 8 and byte access. While EDK2 sets bit_width = 32 and dword access. Also the name exposed by acpica tools is different: 'COM0' in my case where '\_SB.COM0' in SBSA-REF case? Here is the human readable content: [000h 0000 4] Signature : "DBG2" [Debug Port table type 2] [004h 0004 4] Table Length : 00000057 [008h 0008 1] Revision : 03 [009h 0009 1] Checksum : C8 [00Ah 0010 6] Oem ID : "BOCHS " [010h 0016 8] Oem Table ID : "BXPC " [018h 0024 4] Oem Revision : 00000001 [01Ch 0028 4] Asl Compiler ID : "BXPC" [020h 0032 4] Asl Compiler Revision : 00000001 [024h 0036 4] Info Offset : 0000002C [028h 0040 4] Info Count : 00000001 [02Ch 0044 1] Revision : 00 [02Dh 0045 2] Length : 002F [02Fh 0047 1] Register Count : 01 [030h 0048 2] Namepath Length : 0005 [032h 0050 2] Namepath Offset : 0026 [034h 0052 2] OEM Data Length : 0000 [Optional field not present] [036h 0054 2] OEM Data Offset : 0000 [Optional field not present] [038h 0056 2] Port Type : 8000 [03Ah 0058 2] Port Subtype : 0003 [03Ch 0060 2] Reserved : 0000 [03Eh 0062 2] Base Address Offset : 0016 [040h 0064 2] Address Size Offset : 0022 [042h 0066 12] Base Address Register : [Generic Address Structure] [042h 0066 1] Space ID : 00 [SystemMemory] [043h 0067 1] Bit Width : 08 [044h 0068 1] Bit Offset : 00 [045h 0069 1] Encoded Access Width : 01 [Byte Access:8] [046h 0070 8] Address : 0000000009000000 [04Eh 0078 4] Address Size : 00001000 [052h 0082 5] Namepath : "COM0" --- tests/data/acpi/virt/DBG2 | Bin 0 -> 87 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) diff --git a/tests/data/acpi/virt/DBG2 b/tests/data/acpi/virt/DBG2 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..895679cec0732f4109322b59b532e904885e1cca 100644 GIT binary patch literal 87 zcmZ>9ayJTRU|?WA;pFe^5v<@85#X!<1dKp25F14605OPW&}U#|Wl#gL7#JFufrJ=? V5(5JVSdtSgD!{<t?C)#9000Z&2>}2A literal 0 HcmV?d00001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index 1910d154c27..dfb8523c8bf 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/virt/DBG2", -- 2.26.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger 2021-09-06 12:31 ` [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test Eric Auger 2021-09-06 12:31 ` [PATCH v2 2/3] bios-tables-test: Generate reference table for virt/DBG2 Eric Auger @ 2021-09-06 12:31 ` Eric Auger 2021-09-07 10:18 ` Igor Mammedov 2021-09-07 7:02 ` [PATCH v2 0/3] " Igor Mammedov 2021-09-08 9:14 ` Andrew Jones 4 siblings, 1 reply; 9+ messages in thread From: Eric Auger @ 2021-09-06 12:31 UTC (permalink / raw) To: eric.auger.pro, eric.auger, mst, imammedo, philmd, peter.maydell, shannon.zhaosl, qemu-arm, qemu-devel, ardb, drjones Cc: gshan ARM SBBR specification mandates DBG2 table (Debug Port Table 2). this latter allows to describe one or more debug ports. Generate an DBG2 table featuring a single debug port, the PL011. The DBG2 specification can be found at: https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table?redirectedfrom=MSDN Signed-off-by: Eric Auger <eric.auger@redhat.com> --- v1 -> v2: - rebased on Igor's refactoring --- hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 488ea04eed7..de604e79779 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -512,6 +512,65 @@ build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) acpi_table_composed(linker, &table); } +/* Debug Port Table 2 (DBG2) */ +static void +build_dbg2(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) +{ + AcpiTable table = { .sig = "DBG2", .rev = 3, .oem_id = vms->oem_id, + .oem_table_id = vms->oem_table_id }; + int dbg2devicelength, baseaddroffset = 22, namespace_length; + char name[] = "COM0"; + + acpi_init_table(&table, table_data); + + namespace_length = sizeof name; + dbg2devicelength = baseaddroffset + + sizeof(struct AcpiGenericAddress) + 4 + namespace_length; + + /* offset to the first debug struct */ + build_append_int_noprefix(table_data, 44, 4); + /* number of debug device info struct entries */ + build_append_int_noprefix(table_data, 1, 4); + + /* debug device info structure */ + /* revision */ + build_append_int_noprefix(table_data, 0, 1); + /* length */ + build_append_int_noprefix(table_data, dbg2devicelength, 2); + /* register count */ + build_append_int_noprefix(table_data, 1, 1); + /* name path length */ + build_append_int_noprefix(table_data, namespace_length, 2); + /* name path offset */ + build_append_int_noprefix(table_data, 38, 2); + /* oem data length */ + build_append_int_noprefix(table_data, 0, 2); + /* oem data offset (0 means no OEM data) */ + build_append_int_noprefix(table_data, 0, 2); + /* port type (serial port) */ + build_append_int_noprefix(table_data, 0x8000, 2); + /* port subtype (ARM PL011)*/ + build_append_int_noprefix(table_data, 0x3, 2); + /* reserved */ + build_append_int_noprefix(table_data, 0, 2); + /* base address offset */ + build_append_int_noprefix(table_data, 22, 2); + /* address size offset */ + build_append_int_noprefix(table_data, 34, 2); + + /* BaseAddressRegister */ + build_append_gas(table_data, AML_AS_SYSTEM_MEMORY, 8, 0, 1, + vms->memmap[VIRT_UART].base); + + /* AddressSize (PL011 UART length) */ + build_append_int_noprefix(table_data, 0x1000, 4); + + /* NamespaceString */ + g_array_append_vals(table_data, name, namespace_length); + + acpi_table_composed(linker, &table); +}; + /* * ACPI spec, Revision 5.1 Errata A * 5.2.12 Multiple APIC Description Table (MADT) @@ -770,7 +829,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) dsdt = tables_blob->len; build_dsdt(tables_blob, tables->linker, vms); - /* FADT MADT GTDT MCFG SPCR pointed to by RSDT */ + /* FADT MADT GTDT MCFG SPCR DBG2 pointed to by RSDT */ acpi_add_table(table_offsets, tables_blob); build_fadt_rev5(tables_blob, tables->linker, vms, dsdt); @@ -793,6 +852,9 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) acpi_add_table(table_offsets, tables_blob); build_spcr(tables_blob, tables->linker, vms); + acpi_add_table(table_offsets, tables_blob); + build_dbg2(tables_blob, tables->linker, vms); + if (vms->ras) { build_ghes_error_table(tables->hardware_errors, tables->linker); acpi_add_table(table_offsets, tables_blob); -- 2.26.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table 2021-09-06 12:31 ` [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger @ 2021-09-07 10:18 ` Igor Mammedov 0 siblings, 0 replies; 9+ messages in thread From: Igor Mammedov @ 2021-09-07 10:18 UTC (permalink / raw) To: Eric Auger Cc: peter.maydell, drjones, gshan, mst, qemu-devel, shannon.zhaosl, qemu-arm, philmd, ardb, eric.auger.pro On Mon, 6 Sep 2021 14:31:39 +0200 Eric Auger <eric.auger@redhat.com> wrote: > ARM SBBR specification mandates DBG2 table (Debug Port Table 2). ^^ revision here, and possibly a pointer [chapter] to concrete place in spec where it's said. > this latter allows to describe one or more debug ports. > > Generate an DBG2 table featuring a single debug port, the PL011. > > The DBG2 specification can be found at: > https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table?redirectedfrom=MSDN links tend to go stale, I'd use a combo of name and optionally link here: "Microsoft Debug Port Table 2 (DBG2)" link > Signed-off-by: Eric Auger <eric.auger@redhat.com> table looks correct, so only style related thing to fix to match the common ACPI code style. > > --- > v1 -> v2: > - rebased on Igor's refactoring > --- > hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 63 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index 488ea04eed7..de604e79779 100644 > --- a/hw/arm/virt-acpi-build.c > +++ b/hw/arm/virt-acpi-build.c > @@ -512,6 +512,65 @@ build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) > acpi_table_composed(linker, &table); > } > > +/* Debug Port Table 2 (DBG2) */ > +static void > +build_dbg2(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) > +{ > + AcpiTable table = { .sig = "DBG2", .rev = 3, .oem_id = vms->oem_id, > + .oem_table_id = vms->oem_table_id }; > + int dbg2devicelength, baseaddroffset = 22, namespace_length; > + char name[] = "COM0"; const? Also I'd move here: const int namespace_length = sizeof(name); > + > + acpi_init_table(&table, table_data); > + > + namespace_length = sizeof name; > + dbg2devicelength = baseaddroffset + > + sizeof(struct AcpiGenericAddress) + 4 + namespace_length; ^^^^, fragile as it's subject to alignment which depends on target I suggest following style: dbg2devicelength = 22 /* BaseAddressRegister[] offset, fixed size table header */ + 12 /* BaseAddressRegister[] */ + 4 /* AddressSize[] */ namespace_length /* NamespaceString[] */; and drop 'baseaddroffset' and 'sizeof(struct AcpiGenericAddress)' to be more consistent with other ACPI code to annotate where lengths come from > + /* offset to the first debug struct */ comment should be verbatim field name from spec table, i.e. in this case /* OffsetDbgDeviceInfo */ ditto for the rest of field comments > + build_append_int_noprefix(table_data, 44, 4); > + /* number of debug device info struct entries */ > + build_append_int_noprefix(table_data, 1, 4); > + > + /* debug device info structure */ copy from spec, for ease to find it using just copy/past, /* Table 2. Debug Device Information structure format */ > + /* revision */ > + build_append_int_noprefix(table_data, 0, 1); > + /* length */ > + build_append_int_noprefix(table_data, dbg2devicelength, 2); > + /* register count */ > + build_append_int_noprefix(table_data, 1, 1); > + /* name path length */ > + build_append_int_noprefix(table_data, namespace_length, 2); > + /* name path offset */ > + build_append_int_noprefix(table_data, 38, 2); > + /* oem data length */ > + build_append_int_noprefix(table_data, 0, 2); > + /* oem data offset (0 means no OEM data) */ > + build_append_int_noprefix(table_data, 0, 2); > + /* port type (serial port) */ > + build_append_int_noprefix(table_data, 0x8000, 2); values could be annotated like following, using description from spec: build_append_int_noprefix(table_data, 0x8000 /* Serial */, 2); > + /* port subtype (ARM PL011)*/ > + build_append_int_noprefix(table_data, 0x3, 2); 0x3 /* ARM PL011 UART */ it gives checkpatch warning but all APCI code uses this style, so it's fine > + /* reserved */ > + build_append_int_noprefix(table_data, 0, 2); > + /* base address offset */ > + build_append_int_noprefix(table_data, 22, 2); > + /* address size offset */ > + build_append_int_noprefix(table_data, 34, 2); > + > + /* BaseAddressRegister */ > + build_append_gas(table_data, AML_AS_SYSTEM_MEMORY, 8, 0, 1, > + vms->memmap[VIRT_UART].base); > + > + /* AddressSize (PL011 UART length) */ > + build_append_int_noprefix(table_data, 0x1000, 4); ^^^^ at least point out where it comes from or use macro to define value and use it here and in pl011_init() > + > + /* NamespaceString */ > + g_array_append_vals(table_data, name, namespace_length); > + > + acpi_table_composed(linker, &table); > +}; > + > /* > * ACPI spec, Revision 5.1 Errata A > * 5.2.12 Multiple APIC Description Table (MADT) > @@ -770,7 +829,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) > dsdt = tables_blob->len; > build_dsdt(tables_blob, tables->linker, vms); > > - /* FADT MADT GTDT MCFG SPCR pointed to by RSDT */ > + /* FADT MADT GTDT MCFG SPCR DBG2 pointed to by RSDT */ > acpi_add_table(table_offsets, tables_blob); > build_fadt_rev5(tables_blob, tables->linker, vms, dsdt); > > @@ -793,6 +852,9 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) > acpi_add_table(table_offsets, tables_blob); > build_spcr(tables_blob, tables->linker, vms); > > + acpi_add_table(table_offsets, tables_blob); > + build_dbg2(tables_blob, tables->linker, vms); > + > if (vms->ras) { > build_ghes_error_table(tables->hardware_errors, tables->linker); > acpi_add_table(table_offsets, tables_blob); ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger ` (2 preceding siblings ...) 2021-09-06 12:31 ` [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger @ 2021-09-07 7:02 ` Igor Mammedov 2021-09-08 9:14 ` Andrew Jones 4 siblings, 0 replies; 9+ messages in thread From: Igor Mammedov @ 2021-09-07 7:02 UTC (permalink / raw) To: Eric Auger Cc: peter.maydell, drjones, gshan, mst, qemu-devel, shannon.zhaosl, qemu-arm, philmd, ardb, eric.auger.pro On Mon, 6 Sep 2021 14:31:36 +0200 Eric Auger <eric.auger@redhat.com> wrote: > This series generates the ACPI DBG2 table along with machvirt. > It applies on top of Igor's > [PATCH v2 00/35] acpi: refactor error prone build_header() and > packed structures usage in ACPI tables FYI: I'm preparing to post v3 today, with so far received feedback addressed. Change that will affect 3/3 is s/acpi_init_table|acpi_table_composed/acpi_table_begin|acpi_table_end/ > The DBG2 specification can be found at > https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table. > > DBG2 is mandated by ARM SBBR since its v1.0 release (the rationale > behind is Windows requires it on all systems). > > The DBG2 is used to describe a debug port, used by the kernel debugger. > > This series and its dependency can be found at > https://github.com/eauger/qemu.git > branch: dbg2-v2-igor-v2-fix > > History: > v1 -> v2: > - rebase on top of Igor's series and use acpi_init_table/acpi_table_composed > and build_append_int_noprefix() > > Eric Auger (3): > tests/acpi: Add void table for virt/DBG2 bios-tables-test > bios-tables-test: Generate reference table for virt/DBG2 > hw/arm/virt_acpi_build: Generate DBG2 table I'd swap 2/3 and 3/3, so it would be obvious where DBG2 comes from. > > hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++- > tests/data/acpi/virt/DBG2 | Bin 0 -> 87 bytes > 2 files changed, 63 insertions(+), 1 deletion(-) > create mode 100644 tests/data/acpi/virt/DBG2 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger ` (3 preceding siblings ...) 2021-09-07 7:02 ` [PATCH v2 0/3] " Igor Mammedov @ 2021-09-08 9:14 ` Andrew Jones 2021-09-09 15:41 ` Eric Auger 4 siblings, 1 reply; 9+ messages in thread From: Andrew Jones @ 2021-09-08 9:14 UTC (permalink / raw) To: Eric Auger Cc: peter.maydell, gshan, mst, qemu-devel, shannon.zhaosl, qemu-arm, imammedo, philmd, ardb, eric.auger.pro On Mon, Sep 06, 2021 at 02:31:36PM +0200, Eric Auger wrote: > This series generates the ACPI DBG2 table along with machvirt. > It applies on top of Igor's > [PATCH v2 00/35] acpi: refactor error prone build_header() and > packed structures usage in ACPI tables > > The DBG2 specification can be found at > https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table. > > DBG2 is mandated by ARM SBBR since its v1.0 release (the rationale > behind is Windows requires it on all systems). > > The DBG2 is used to describe a debug port, used by the kernel debugger. Hi Eric, Did you test this in some way with a Linux guest? Thanks, drew > > This series and its dependency can be found at > https://github.com/eauger/qemu.git > branch: dbg2-v2-igor-v2-fix > > History: > v1 -> v2: > - rebase on top of Igor's series and use acpi_init_table/acpi_table_composed > and build_append_int_noprefix() > > Eric Auger (3): > tests/acpi: Add void table for virt/DBG2 bios-tables-test > bios-tables-test: Generate reference table for virt/DBG2 > hw/arm/virt_acpi_build: Generate DBG2 table > > hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++- > tests/data/acpi/virt/DBG2 | Bin 0 -> 87 bytes > 2 files changed, 63 insertions(+), 1 deletion(-) > create mode 100644 tests/data/acpi/virt/DBG2 > > -- > 2.26.3 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table 2021-09-08 9:14 ` Andrew Jones @ 2021-09-09 15:41 ` Eric Auger 0 siblings, 0 replies; 9+ messages in thread From: Eric Auger @ 2021-09-09 15:41 UTC (permalink / raw) To: Andrew Jones Cc: peter.maydell, gshan, mst, qemu-devel, Hongbo Zhang, shannon.zhaosl, qemu-arm, imammedo, Leif Lindholm, philmd, ardb, eric.auger.pro Hi Drew, On 9/8/21 11:14 AM, Andrew Jones wrote: > On Mon, Sep 06, 2021 at 02:31:36PM +0200, Eric Auger wrote: >> This series generates the ACPI DBG2 table along with machvirt. >> It applies on top of Igor's >> [PATCH v2 00/35] acpi: refactor error prone build_header() and >> packed structures usage in ACPI tables >> >> The DBG2 specification can be found at >> https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table. >> >> DBG2 is mandated by ARM SBBR since its v1.0 release (the rationale >> behind is Windows requires it on all systems). >> >> The DBG2 is used to describe a debug port, used by the kernel debugger. > Hi Eric, > > Did you test this in some way with a Linux guest? no, I don't know how to test it functionaly. As I diff'ed against sbsa-ref generated table maybe guys using the sbsa-ref have some proper testing use case of it? Adding Hongbo and Leif in CC. Thanks Eric > > Thanks, > drew > >> This series and its dependency can be found at >> https://github.com/eauger/qemu.git >> branch: dbg2-v2-igor-v2-fix >> >> History: >> v1 -> v2: >> - rebase on top of Igor's series and use acpi_init_table/acpi_table_composed >> and build_append_int_noprefix() >> >> Eric Auger (3): >> tests/acpi: Add void table for virt/DBG2 bios-tables-test >> bios-tables-test: Generate reference table for virt/DBG2 >> hw/arm/virt_acpi_build: Generate DBG2 table >> >> hw/arm/virt-acpi-build.c | 64 +++++++++++++++++++++++++++++++++++++- >> tests/data/acpi/virt/DBG2 | Bin 0 -> 87 bytes >> 2 files changed, 63 insertions(+), 1 deletion(-) >> create mode 100644 tests/data/acpi/virt/DBG2 >> >> -- >> 2.26.3 >> ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-09-09 15:43 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-06 12:31 [PATCH v2 0/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger 2021-09-06 12:31 ` [PATCH v2 1/3] tests/acpi: Add void table for virt/DBG2 bios-tables-test Eric Auger 2021-09-07 10:20 ` Igor Mammedov 2021-09-06 12:31 ` [PATCH v2 2/3] bios-tables-test: Generate reference table for virt/DBG2 Eric Auger 2021-09-06 12:31 ` [PATCH v2 3/3] hw/arm/virt_acpi_build: Generate DBG2 table Eric Auger 2021-09-07 10:18 ` Igor Mammedov 2021-09-07 7:02 ` [PATCH v2 0/3] " Igor Mammedov 2021-09-08 9:14 ` Andrew Jones 2021-09-09 15:41 ` Eric Auger
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.