Nico Huber has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/31593 )
Change subject: mb/emulation/qemu: Fix fw_cfg file loading ......................................................................
mb/emulation/qemu: Fix fw_cfg file loading
The change bcd84fe "mb/emulation/qemu-i440fx: change file handling" introduced a regression where it loads only 4 bytes of the ACPI and SMBIOS table, instead of the whole table.
Load the whole ACPI and SMBIOS table.
Tested on Qemu using GNU/Linux.
Change-Id: Ibacbf7caab9be5f181c12e9dd39a2893b13cf6c9 Signed-off-by: Patrick Rudolph siro@das-labor.org Reviewed-on: https://review.coreboot.org/c/31593 Reviewed-by: Philipp Deppenwiese zaolin.daisuki@gmail.com Reviewed-by: Nico Huber nico.h@gmx.de Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: Paul Menzel paulepanter@users.sourceforge.net Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/emulation/qemu-i440fx/fw_cfg.c 1 file changed, 2 insertions(+), 2 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved Paul Menzel: Looks good to me, but someone else must approve Philipp Deppenwiese: Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c index 6a9ef03..f43c280 100644 --- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c +++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c @@ -251,7 +251,7 @@
printk(BIOS_DEBUG, "QEMU: loading "%s" to 0x%lx (len %d)\n", s[i].alloc.file, current, f.size); - fw_cfg_get(f.select, (void *)current, sizeof(current)); + fw_cfg_get(f.select, (void *)current, f.size); addrs[i] = current; current += f.size; break; @@ -454,7 +454,7 @@ * We'll exclude the end marker as coreboot will add one. */ printk(BIOS_DEBUG, "QEMU: loading smbios tables to 0x%lx\n", start); - fw_cfg_get(f.select, (void *)start, sizeof(start)); + fw_cfg_get(f.select, (void *)start, f.size); end = start; do { t0 = (struct smbios_type0*)end;