The riscv virt board's SPCR table says its 16550 UART has a 32-bit
register stride, but the registers are actually byte spaced. Linux
doesn't use this field to work out the register spacing, but FreeBSD's
EFI loader does, and the FreeBSD kernel then crashes on the console
UART when booted through EDK2 with ACPI enabled.
This series fixes the width, plus the usual bios-tables-test patches to
update the golden reference so 'make check' keeps passing.
v2:
- Keep the relative file path in the patch 3 iasl diff (Daniel)
- Add Reviewed-by tags
Thanks,
Rick
Rick Richard (3):
tests/qtest/bios-tables-test: Allow changes to riscv64 virt SPCR
hw/riscv/virt-acpi-build: Fix the UART register width in SPCR
tests/qtest/bios-tables-test: Update riscv64 virt SPCR golden
reference
hw/riscv/virt-acpi-build.c | 2 +-
tests/data/acpi/riscv64/virt/SPCR | Bin 90 -> 90 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
--
2.43.0