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>
This commit is contained in:
committed by
Nico Huber
parent
f606a2f5e6
commit
87abccdd89
@@ -251,7 +251,7 @@ unsigned long fw_cfg_acpi_tables(unsigned long start)
|
||||
|
||||
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 @@ unsigned long fw_cfg_smbios_tables(int *handle, unsigned long *current)
|
||||
* 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;
|
||||
|
Reference in New Issue
Block a user