On 2026/9/26 下午8:45, xiaoqiang zhao wrote:
Serial base_addr.width should be 8 instead of 32.
The wrong reported data will cause ADE in FreeBSD console initialize
process and trigger a reset loop.
Signed-off-by: xiaoqiang zhao <[email protected]>
---
hw/loongarch/virt-acpi-build.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/loongarch/virt-acpi-build.c b/hw/loongarch/virt-acpi-build.c
index 600ef60fc5..54965f011d 100644
--- a/hw/loongarch/virt-acpi-build.c
+++ b/hw/loongarch/virt-acpi-build.c
@@ -268,7 +268,7 @@ spcr_setup(GArray *table_data, BIOSLinker *linker,
MachineState *machine)
AcpiSpcrData serial = {
.interface_type = 0, /* 16550 compatible */
.base_addr.id = AML_AS_SYSTEM_MEMORY,
- .base_addr.width = 32,
+ .base_addr.width = 8,
.base_addr.offset = 0,
.base_addr.size = 1,
.base_addr.addr = VIRT_UART_BASE,
Yeap, from the code bit_width in SPCR table with 16550 UART device
should be 8.
With ACPI modified, it breaks acpi test case when executing 'make check'
command, please modify the test case also similar with previous patch:
https://lore.kernel.org/qemu-devel/[email protected]/
Regards
Bibo Mao