From: Li Chen <chenl311@chinatelecom.cn>
The virt machines always instantiate a PL011/16550 at UART0 and
describe it in ACPI (DSDT device node plus optional SPCR table). When
the command line contains “-serial none” there is no backend attached to
that UART, yet the guest still discovers it via ACPI and may try to use
it as a console, causing unexpected results.
And also explicitly add "-serial stdio" in bios-tables-test.c to allow
serial device creation, otherwise DSDT assert would get failure because
"-nodefaults" will not create uart device by default:
```
stderr:
acpi-test: Warning! DSDT binary file mismatch. Actual [aml:/tmp/aml-BMOL72], Expected [aml:tests/data/acpi/aarch64/virt/DSDT].
See source file tests/qtest/bios-tables-test.c for instructions on how to update expected files.
acpi-test: Warning! DSDT mismatch. Actual [asl:/tmp/asl-RNOL72.dsl, aml:/tmp/aml-BMOL72], Expected [asl:/tmp/asl-ZVQL72.dsl, aml:tests/data/acpi/aarch64/virt/DS
DT].
```
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
---
Notes:
Changes since v3: 1. Add Reviewed-by from Sunil V L <sunilvl@ventanamicro.com>
2. Explicitly add "-serial stdio" to pass DSDT assert
hw/arm/virt-acpi-build.c | 15 +++++++++------
hw/riscv/virt-acpi-build.c | 7 +++++--
include/system/system.h | 2 ++
system/vl.c | 5 +++++
tests/qtest/bios-tables-test.c | 5 +++--
5 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index d77d16cbd3..c26aedb1b1 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -59,6 +59,7 @@
#include "hw/acpi/viot.h"
#include "hw/virtio/virtio-acpi.h"
#include "target/arm/multiprocessing.h"
+#include "system/system.h"
#define ARM_SPI_BASE 32
@@ -821,11 +822,13 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
*/
scope = aml_scope("\\_SB");
acpi_dsdt_add_cpus(scope, vms);
- acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
- (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
- if (vms->second_ns_uart_present) {
- acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
- (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
+ if (serial_exist()) {
+ acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
+ (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
+ if (vms->second_ns_uart_present) {
+ acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
+ (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
+ }
}
if (vmc->acpi_expose_flash) {
acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
@@ -937,7 +940,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
acpi_add_table(table_offsets, tables_blob);
- if (ms->acpi_spcr_enabled) {
+ if (ms->acpi_spcr_enabled && serial_exist()) {
spcr_setup(tables_blob, tables->linker, vms);
}
diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c
index ee1416d264..80bf3c3cec 100644
--- a/hw/riscv/virt-acpi-build.c
+++ b/hw/riscv/virt-acpi-build.c
@@ -39,6 +39,7 @@
#include "qapi/error.h"
#include "qemu/error-report.h"
#include "system/reset.h"
+#include "system/system.h"
#define ACPI_BUILD_TABLE_SIZE 0x20000
#define ACPI_BUILD_INTC_ID(socket, index) ((socket << 24) | (index))
@@ -474,7 +475,9 @@ static void build_dsdt(GArray *table_data,
memmap[VIRT_APLIC_S].size, "RSCV0002");
}
- acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
+ if (serial_exist())
+ acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
+
if (virt_is_iommu_sys_enabled(s)) {
acpi_dsdt_add_iommu_sys(scope, &memmap[VIRT_IOMMU_SYS], IOMMU_SYS_IRQ);
}
@@ -895,7 +898,7 @@ static void virt_acpi_build(RISCVVirtState *s, AcpiBuildTables *tables)
acpi_add_table(table_offsets, tables_blob);
- if (ms->acpi_spcr_enabled) {
+ if (ms->acpi_spcr_enabled && serial_exist()) {
spcr_setup(tables_blob, tables->linker, s);
}
diff --git a/include/system/system.h b/include/system/system.h
index a7effe7dfd..ca1af38432 100644
--- a/include/system/system.h
+++ b/include/system/system.h
@@ -75,6 +75,8 @@ extern unsigned int nb_prom_envs;
/* Return the Chardev for serial port i, or NULL if none */
Chardev *serial_hd(int i);
+bool serial_exist(void);
+
/* parallel ports */
#define MAX_PARALLEL_PORTS 3
diff --git a/system/vl.c b/system/vl.c
index fd402b8ff8..e340ee3a95 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -1485,6 +1485,11 @@ Chardev *serial_hd(int i)
return NULL;
}
+bool serial_exist(void)
+{
+ return serial_hd(0) ? true : false;
+}
+
static bool parallel_parse(const char *devname, Error **errp)
{
static int index = 0;
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 44de152a36..452566fa86 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -824,10 +824,11 @@ static char *test_acpi_create_args(test_data *data, const char *params)
/*
* TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3)
* when arm/virt boad starts to support it.
+ * NOTE: Explicitly add "-serial stdio" to enable uart in DSDT.
*/
if (data->cd) {
args = g_strdup_printf("-machine %s%s %s -accel tcg "
- "-nodefaults -nographic "
+ "-nodefaults -serial stdio -nographic "
"-drive if=pflash,format=raw,file=%s,readonly=on "
"-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
data->machine, data->machine_param ?: "",
@@ -835,7 +836,7 @@ static char *test_acpi_create_args(test_data *data, const char *params)
data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
} else {
args = g_strdup_printf("-machine %s%s %s -accel tcg "
- "-nodefaults -nographic "
+ "-nodefaults -serial stdio -nographic "
"-drive if=pflash,format=raw,file=%s,readonly=on "
"-drive if=pflash,format=raw,file=%s,snapshot=on %s",
data->machine, data->machine_param ?: "",
--
2.49.0
On Wed, May 28, 2025 at 06:53:38PM +0800, Li Chen wrote:
> From: Li Chen <chenl311@chinatelecom.cn>
>
> The virt machines always instantiate a PL011/16550 at UART0 and
> describe it in ACPI (DSDT device node plus optional SPCR table). When
> the command line contains “-serial none” there is no backend attached to
> that UART, yet the guest still discovers it via ACPI and may try to use
> it as a console, causing unexpected results.
>
> And also explicitly add "-serial stdio" in bios-tables-test.c to allow
> serial device creation, otherwise DSDT assert would get failure because
> "-nodefaults" will not create uart device by default:
>
> ```
> stderr:
> acpi-test: Warning! DSDT binary file mismatch. Actual [aml:/tmp/aml-BMOL72], Expected [aml:tests/data/acpi/aarch64/virt/DSDT].
> See source file tests/qtest/bios-tables-test.c for instructions on how to update expected files.
> acpi-test: Warning! DSDT mismatch. Actual [asl:/tmp/asl-RNOL72.dsl, aml:/tmp/aml-BMOL72], Expected [asl:/tmp/asl-ZVQL72.dsl, aml:tests/data/acpi/aarch64/virt/DS
> DT].
> ```
>
> Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
will need to be rebased updating loongarch too, now.
> ---
>
> Notes:
> Changes since v3: 1. Add Reviewed-by from Sunil V L <sunilvl@ventanamicro.com>
> 2. Explicitly add "-serial stdio" to pass DSDT assert
>
> hw/arm/virt-acpi-build.c | 15 +++++++++------
> hw/riscv/virt-acpi-build.c | 7 +++++--
> include/system/system.h | 2 ++
> system/vl.c | 5 +++++
> tests/qtest/bios-tables-test.c | 5 +++--
> 5 files changed, 24 insertions(+), 10 deletions(-)
>
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index d77d16cbd3..c26aedb1b1 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -59,6 +59,7 @@
> #include "hw/acpi/viot.h"
> #include "hw/virtio/virtio-acpi.h"
> #include "target/arm/multiprocessing.h"
> +#include "system/system.h"
>
> #define ARM_SPI_BASE 32
>
> @@ -821,11 +822,13 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
> */
> scope = aml_scope("\\_SB");
> acpi_dsdt_add_cpus(scope, vms);
> - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
> - (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
> - if (vms->second_ns_uart_present) {
> - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
> - (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
> + if (serial_exist()) {
> + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
> + (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
> + if (vms->second_ns_uart_present) {
> + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
> + (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
> + }
> }
> if (vmc->acpi_expose_flash) {
> acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
> @@ -937,7 +940,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
>
> acpi_add_table(table_offsets, tables_blob);
>
> - if (ms->acpi_spcr_enabled) {
> + if (ms->acpi_spcr_enabled && serial_exist()) {
> spcr_setup(tables_blob, tables->linker, vms);
> }
>
> diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c
> index ee1416d264..80bf3c3cec 100644
> --- a/hw/riscv/virt-acpi-build.c
> +++ b/hw/riscv/virt-acpi-build.c
> @@ -39,6 +39,7 @@
> #include "qapi/error.h"
> #include "qemu/error-report.h"
> #include "system/reset.h"
> +#include "system/system.h"
>
> #define ACPI_BUILD_TABLE_SIZE 0x20000
> #define ACPI_BUILD_INTC_ID(socket, index) ((socket << 24) | (index))
> @@ -474,7 +475,9 @@ static void build_dsdt(GArray *table_data,
> memmap[VIRT_APLIC_S].size, "RSCV0002");
> }
>
> - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
> + if (serial_exist())
> + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
> +
coding style violation
> if (virt_is_iommu_sys_enabled(s)) {
> acpi_dsdt_add_iommu_sys(scope, &memmap[VIRT_IOMMU_SYS], IOMMU_SYS_IRQ);
> }
> @@ -895,7 +898,7 @@ static void virt_acpi_build(RISCVVirtState *s, AcpiBuildTables *tables)
>
> acpi_add_table(table_offsets, tables_blob);
>
> - if (ms->acpi_spcr_enabled) {
> + if (ms->acpi_spcr_enabled && serial_exist()) {
> spcr_setup(tables_blob, tables->linker, s);
> }
>
> diff --git a/include/system/system.h b/include/system/system.h
> index a7effe7dfd..ca1af38432 100644
> --- a/include/system/system.h
> +++ b/include/system/system.h
> @@ -75,6 +75,8 @@ extern unsigned int nb_prom_envs;
> /* Return the Chardev for serial port i, or NULL if none */
> Chardev *serial_hd(int i);
>
> +bool serial_exist(void);
> +
> /* parallel ports */
>
> #define MAX_PARALLEL_PORTS 3
> diff --git a/system/vl.c b/system/vl.c
> index fd402b8ff8..e340ee3a95 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -1485,6 +1485,11 @@ Chardev *serial_hd(int i)
> return NULL;
> }
>
> +bool serial_exist(void)
> +{
> + return serial_hd(0) ? true : false;
> +}
> +
serial_exists
> static bool parallel_parse(const char *devname, Error **errp)
> {
> static int index = 0;
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index 44de152a36..452566fa86 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -824,10 +824,11 @@ static char *test_acpi_create_args(test_data *data, const char *params)
> /*
> * TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3)
> * when arm/virt boad starts to support it.
> + * NOTE: Explicitly add "-serial stdio" to enable uart in DSDT.
> */
> if (data->cd) {
> args = g_strdup_printf("-machine %s%s %s -accel tcg "
> - "-nodefaults -nographic "
> + "-nodefaults -serial stdio -nographic "
> "-drive if=pflash,format=raw,file=%s,readonly=on "
> "-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
> data->machine, data->machine_param ?: "",
> @@ -835,7 +836,7 @@ static char *test_acpi_create_args(test_data *data, const char *params)
> data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
> } else {
> args = g_strdup_printf("-machine %s%s %s -accel tcg "
> - "-nodefaults -nographic "
> + "-nodefaults -serial stdio -nographic "
> "-drive if=pflash,format=raw,file=%s,readonly=on "
> "-drive if=pflash,format=raw,file=%s,snapshot=on %s",
> data->machine, data->machine_param ?: "",
> --
> 2.49.0
Hi Michael,
Thanks for your kind review! All issues below have been fixed in v5:
https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762
---- On Tue, 15 Jul 2025 02:45:31 +0800 Michael S. Tsirkin <mst@redhat.com> wrote ---
> On Wed, May 28, 2025 at 06:53:38PM +0800, Li Chen wrote:
> > From: Li Chen <chenl311@chinatelecom.cn>
> >
> > The virt machines always instantiate a PL011/16550 at UART0 and
> > describe it in ACPI (DSDT device node plus optional SPCR table). When
> > the command line contains “-serial none” there is no backend attached to
> > that UART, yet the guest still discovers it via ACPI and may try to use
> > it as a console, causing unexpected results.
> >
> > And also explicitly add "-serial stdio" in bios-tables-test.c to allow
> > serial device creation, otherwise DSDT assert would get failure because
> > "-nodefaults" will not create uart device by default:
> >
> > ```
> > stderr:
> > acpi-test: Warning! DSDT binary file mismatch. Actual [aml:/tmp/aml-BMOL72], Expected [aml:tests/data/acpi/aarch64/virt/DSDT].
> > See source file tests/qtest/bios-tables-test.c for instructions on how to update expected files.
> > acpi-test: Warning! DSDT mismatch. Actual [asl:/tmp/asl-RNOL72.dsl, aml:/tmp/aml-BMOL72], Expected [asl:/tmp/asl-ZVQL72.dsl, aml:tests/data/acpi/aarch64/virt/DS
> > DT].
> > ```
> >
> > Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> > Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
> > Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
>
>
> will need to be rebased updating loongarch too, now.
>
>
> > ---
> >
> > Notes:
> > Changes since v3: 1. Add Reviewed-by from Sunil V L <sunilvl@ventanamicro.com>
> > 2. Explicitly add "-serial stdio" to pass DSDT assert
> >
> > hw/arm/virt-acpi-build.c | 15 +++++++++------
> > hw/riscv/virt-acpi-build.c | 7 +++++--
> > include/system/system.h | 2 ++
> > system/vl.c | 5 +++++
> > tests/qtest/bios-tables-test.c | 5 +++--
> > 5 files changed, 24 insertions(+), 10 deletions(-)
> >
> > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> > index d77d16cbd3..c26aedb1b1 100644
> > --- a/hw/arm/virt-acpi-build.c
> > +++ b/hw/arm/virt-acpi-build.c
> > @@ -59,6 +59,7 @@
> > #include "hw/acpi/viot.h"
> > #include "hw/virtio/virtio-acpi.h"
> > #include "target/arm/multiprocessing.h"
> > +#include "system/system.h"
> >
> > #define ARM_SPI_BASE 32
> >
> > @@ -821,11 +822,13 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
> > */
> > scope = aml_scope("\\_SB");
> > acpi_dsdt_add_cpus(scope, vms);
> > - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
> > - (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
> > - if (vms->second_ns_uart_present) {
> > - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
> > - (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
> > + if (serial_exist()) {
> > + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0],
> > + (irqmap[VIRT_UART0] + ARM_SPI_BASE), 0);
> > + if (vms->second_ns_uart_present) {
> > + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
> > + (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
> > + }
> > }
> > if (vmc->acpi_expose_flash) {
> > acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
> > @@ -937,7 +940,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
> >
> > acpi_add_table(table_offsets, tables_blob);
> >
> > - if (ms->acpi_spcr_enabled) {
> > + if (ms->acpi_spcr_enabled && serial_exist()) {
> > spcr_setup(tables_blob, tables->linker, vms);
> > }
> >
> > diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c
> > index ee1416d264..80bf3c3cec 100644
> > --- a/hw/riscv/virt-acpi-build.c
> > +++ b/hw/riscv/virt-acpi-build.c
> > @@ -39,6 +39,7 @@
> > #include "qapi/error.h"
> > #include "qemu/error-report.h"
> > #include "system/reset.h"
> > +#include "system/system.h"
> >
> > #define ACPI_BUILD_TABLE_SIZE 0x20000
> > #define ACPI_BUILD_INTC_ID(socket, index) ((socket << 24) | (index))
> > @@ -474,7 +475,9 @@ static void build_dsdt(GArray *table_data,
> > memmap[VIRT_APLIC_S].size, "RSCV0002");
> > }
> >
> > - acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
> > + if (serial_exist())
> > + acpi_dsdt_add_uart(scope, &memmap[VIRT_UART0], UART0_IRQ);
> > +
>
> coding style violation
>
> > if (virt_is_iommu_sys_enabled(s)) {
> > acpi_dsdt_add_iommu_sys(scope, &memmap[VIRT_IOMMU_SYS], IOMMU_SYS_IRQ);
> > }
> > @@ -895,7 +898,7 @@ static void virt_acpi_build(RISCVVirtState *s, AcpiBuildTables *tables)
> >
> > acpi_add_table(table_offsets, tables_blob);
> >
> > - if (ms->acpi_spcr_enabled) {
> > + if (ms->acpi_spcr_enabled && serial_exist()) {
> > spcr_setup(tables_blob, tables->linker, s);
> > }
> >
> > diff --git a/include/system/system.h b/include/system/system.h
> > index a7effe7dfd..ca1af38432 100644
> > --- a/include/system/system.h
> > +++ b/include/system/system.h
> > @@ -75,6 +75,8 @@ extern unsigned int nb_prom_envs;
> > /* Return the Chardev for serial port i, or NULL if none */
> > Chardev *serial_hd(int i);
> >
> > +bool serial_exist(void);
> > +
> > /* parallel ports */
> >
> > #define MAX_PARALLEL_PORTS 3
> > diff --git a/system/vl.c b/system/vl.c
> > index fd402b8ff8..e340ee3a95 100644
> > --- a/system/vl.c
> > +++ b/system/vl.c
> > @@ -1485,6 +1485,11 @@ Chardev *serial_hd(int i)
> > return NULL;
> > }
> >
> > +bool serial_exist(void)
> > +{
> > + return serial_hd(0) ? true : false;
> > +}
> > +
>
> serial_exists
>
>
> > static bool parallel_parse(const char *devname, Error **errp)
> > {
> > static int index = 0;
> > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> > index 44de152a36..452566fa86 100644
> > --- a/tests/qtest/bios-tables-test.c
> > +++ b/tests/qtest/bios-tables-test.c
> > @@ -824,10 +824,11 @@ static char *test_acpi_create_args(test_data *data, const char *params)
> > /*
> > * TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3)
> > * when arm/virt boad starts to support it.
> > + * NOTE: Explicitly add "-serial stdio" to enable uart in DSDT.
> > */
> > if (data->cd) {
> > args = g_strdup_printf("-machine %s%s %s -accel tcg "
> > - "-nodefaults -nographic "
> > + "-nodefaults -serial stdio -nographic "
> > "-drive if=pflash,format=raw,file=%s,readonly=on "
> > "-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
> > data->machine, data->machine_param ?: "",
> > @@ -835,7 +836,7 @@ static char *test_acpi_create_args(test_data *data, const char *params)
> > data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
> > } else {
> > args = g_strdup_printf("-machine %s%s %s -accel tcg "
> > - "-nodefaults -nographic "
> > + "-nodefaults -serial stdio -nographic "
> > "-drive if=pflash,format=raw,file=%s,readonly=on "
> > "-drive if=pflash,format=raw,file=%s,snapshot=on %s",
> > data->machine, data->machine_param ?: "",
>
>
>
>
> > --
> > 2.49.0
>
>
Regards,
Li
On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > Hi Michael, > > Thanks for your kind review! All issues below have been fixed in v5: > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 Past soft freeze now: I tagged this but pls remind me after the release to help make sure it's not lost.
Hi Michael, ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > Hi Michael, > > > > Thanks for your kind review! All issues below have been fixed in v5: > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > Past soft freeze now: I tagged this but pls remind me after the release > to help make sure it's not lost. > Ok. Regards, Li
Hi Michael, ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > Hi Michael, > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > Hi Michael, > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > Past soft freeze now: I tagged this but pls remind me after the release > > to help make sure it's not lost. Gentle reminder: This patch is still missing from the latest master branch, but can apply without any conflict. Can it be included in 10.2? Regards, Li.
Hi Michael, ---- On Fri, 19 Sep 2025 07:38:56 +0800 Li Chen <me@linux.beauty> wrote --- > Hi Michael, > > ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > > Hi Michael, > > > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > > Hi Michael, > > > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > > > Past soft freeze now: I tagged this but pls remind me after the release > > > to help make sure it's not lost. > > Gentle reminder: This patch is still missing from the latest master branch, but can apply without > any conflict. Can it be included in 10.2? > > Regards, > Li. > > Sorry for bothering again. But I'm still unable to find this patch in the latest master branch, though it applies without conflicts now. Could it be merged now? Regards, Li
On Wed, Dec 10, 2025 at 08:23:21PM +0800, Li Chen wrote: > Hi Michael, > > ---- On Fri, 19 Sep 2025 07:38:56 +0800 Li Chen <me@linux.beauty> wrote --- > > Hi Michael, > > > > ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > > > Hi Michael, > > > > > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > > > Hi Michael, > > > > > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > > > > > Past soft freeze now: I tagged this but pls remind me after the release > > > > to help make sure it's not lost. > > > > Gentle reminder: This patch is still missing from the latest master branch, but can apply without > > any conflict. Can it be included in 10.2? > > > > Regards, > > Li. > > > > > > Sorry for bothering again. But I'm still unable to find this patch in the latest master branch, though it applies without conflicts now. > > Could it be merged now? > > Regards, > Li you still need to update loongarch, I think. otherwise these tests will fail. -- MST
Hi Tsirkin, ---- On Wed, 10 Dec 2025 20:53:01 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > On Wed, Dec 10, 2025 at 08:23:21PM +0800, Li Chen wrote: > > Hi Michael, > > > > ---- On Fri, 19 Sep 2025 07:38:56 +0800 Li Chen <me@linux.beauty> wrote --- > > > Hi Michael, > > > > > > ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > > > > Hi Michael, > > > > > > > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > > > > Hi Michael, > > > > > > > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > > > > > > > Past soft freeze now: I tagged this but pls remind me after the release > > > > > to help make sure it's not lost. > > > > > > Gentle reminder: This patch is still missing from the latest master branch, but can apply without > > > any conflict. Can it be included in 10.2? > > > > > > Regards, > > > Li. > > > > > > > > > > Sorry for bothering again. But I'm still unable to find this patch in the latest master branch, though it applies without conflicts now. > > > > Could it be merged now? > > > > Regards, > > Li > > you still need to update loongarch, I think. otherwise these tests will > fail. Yes, it seems that tap stdout is polluted by serial stdio. I'll address the stdout pollution from -serial stdio by redirecting serial output to /dev/null using -serial null in the next version. This will still create the serial device but prevent it from writing to the console. Regards, Li
On Thu, Dec 11, 2025 at 08:03:05AM +0800, Li Chen wrote: > Hi Tsirkin, > > ---- On Wed, 10 Dec 2025 20:53:01 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > On Wed, Dec 10, 2025 at 08:23:21PM +0800, Li Chen wrote: > > > Hi Michael, > > > > > > ---- On Fri, 19 Sep 2025 07:38:56 +0800 Li Chen <me@linux.beauty> wrote --- > > > > Hi Michael, > > > > > > > > ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > > > > > Hi Michael, > > > > > > > > > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > > > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > > > > > Hi Michael, > > > > > > > > > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > > > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > > > > > > > > > Past soft freeze now: I tagged this but pls remind me after the release > > > > > > to help make sure it's not lost. > > > > > > > > Gentle reminder: This patch is still missing from the latest master branch, but can apply without > > > > any conflict. Can it be included in 10.2? > > > > > > > > Regards, > > > > Li. > > > > > > > > > > > > > > Sorry for bothering again. But I'm still unable to find this patch in the latest master branch, though it applies without conflicts now. > > > > > > Could it be merged now? > > > > > > Regards, > > > Li > > > > you still need to update loongarch, I think. otherwise these tests will > > fail. > > Yes, it seems that tap stdout is polluted by serial stdio. > > I'll address the stdout pollution from -serial stdio by redirecting serial output to /dev/null using -serial null in the next version. > This will still create the serial device but prevent it from writing to the console. > > Regards, > > Li I don't know about that, what I meant is that loongaarch also has SPCR so it's expected tables have to be updated. -- MST
Hi Michael, ---- On Thu, 11 Dec 2025 15:43:45 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > On Thu, Dec 11, 2025 at 08:03:05AM +0800, Li Chen wrote: > > Hi Tsirkin, > > > > ---- On Wed, 10 Dec 2025 20:53:01 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > On Wed, Dec 10, 2025 at 08:23:21PM +0800, Li Chen wrote: > > > > Hi Michael, > > > > > > > > ---- On Fri, 19 Sep 2025 07:38:56 +0800 Li Chen <me@linux.beauty> wrote --- > > > > > Hi Michael, > > > > > > > > > > ---- On Wed, 16 Jul 2025 19:59:14 +0800 Li Chen <me@linux.beauty> wrote --- > > > > > > Hi Michael, > > > > > > > > > > > > ---- On Wed, 16 Jul 2025 19:42:42 +0800 Michael S. Tsirkin <mst@redhat.com> wrote --- > > > > > > > On Wed, Jul 16, 2025 at 07:41:11PM +0800, Li Chen wrote: > > > > > > > > Hi Michael, > > > > > > > > > > > > > > > > Thanks for your kind review! All issues below have been fixed in v5: > > > > > > > > https://lore.kernel.org/qemu-devel/20250716111959.404917-5-me@linux.beauty/T/#m696cee9a95646add1b74b866c3d6761aa4c5c762 > > > > > > > > > > > > > > Past soft freeze now: I tagged this but pls remind me after the release > > > > > > > to help make sure it's not lost. > > > > > > > > > > Gentle reminder: This patch is still missing from the latest master branch, but can apply without > > > > > any conflict. Can it be included in 10.2? > > > > > > > > > > Regards, > > > > > Li. > > > > > > > > > > > > > > > > > > Sorry for bothering again. But I'm still unable to find this patch in the latest master branch, though it applies without conflicts now. > > > > > > > > Could it be merged now? > > > > > > > > Regards, > > > > Li > > > > > > you still need to update loongarch, I think. otherwise these tests will > > > fail. > > > > Yes, it seems that tap stdout is polluted by serial stdio. > > > > I'll address the stdout pollution from -serial stdio by redirecting serial output to /dev/null using -serial null in the next version. > > This will still create the serial device but prevent it from writing to the console. > > > > Regards, > > > > Li > > I don't know about that, what I meant is that loongaarch also has SPCR > so it's expected tables have to be updated. My apologies, I misunderstood your previous comment. I just found I already added LoongArch support in v5 [1] months ago. I've now fixed the tap parsing error and submitted v6 of the patch [2]. And now all tests can pass. [1]: https://patchew.org/QEMU/20250716111959.404917-1-me@linux.beauty/20250716111959.404917-5-me@linux.beauty/ [2]: https://lore.kernel.org/qemu-devel/20251211102025.873506-1-me@linux.beauty/T/#u Regards, Li
© 2016 - 2025 Red Hat, Inc.