This series introduces a new machine option, spcr=on|off, allowing users to disable the ACPI SPCR (Serial Port Console Redirection) table. By default, SPCR is enabled. Disabling it can help ensure that the guest's console behavior is determined solely by kernel command-line parameters on arch like arm64, avoiding unintended serial console configurations imposed by firmware.
Also add tests on AArch64 and RISC-V virt machines using TCG and UEFI boot. Changes since v2: - Omit UART device from DSDT and SPCR construction if no serial device is present, as suggested by Philippe Mathieu-Daudé. - Add Reviewed-by from Gavin Shan <gs...@redhat.com> for the first patch and fix style issue. Changes since v1: - Add bios-tables-test for RISC-V and ARM as suggested by - Add Acked-by from Michael S. Tsirkin for the first patch - Add Reviewed-by from Bibo Mao for the first patch Li Chen (4): acpi: Add machine option to disable SPCR table tests/qtest/bios-tables-test: Add test for disabling SPCR on AArch64 tests/qtest/bios-tables-test: Add test for disabling SPCR on RISC-V acpi/virt: suppress UART device & SPCR when guest has no serial hardware hw/arm/virt-acpi-build.c | 18 ++++++++++----- hw/core/machine.c | 22 ++++++++++++++++++ hw/loongarch/virt-acpi-build.c | 4 +++- hw/riscv/virt-acpi-build.c | 9 ++++++-- include/hw/boards.h | 1 + include/system/system.h | 2 ++ qemu-options.hx | 5 ++++ system/vl.c | 5 ++++ tests/qtest/bios-tables-test.c | 42 ++++++++++++++++++++++++++++++++++ 9 files changed, 99 insertions(+), 9 deletions(-) -- 2.49.0