diff options
author | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2024-02-07 11:02:59 +0300 |
---|---|---|
committer | Matt DeVillier <matt.devillier@gmail.com> | 2024-02-27 20:22:18 +0000 |
commit | 2009f7c0b7a11004787d2bedaf2735b060182420 (patch) | |
tree | 0676546e88c4b1d17ff97d14fd579e721d0cd566 /src | |
parent | dd63418f81771b8686f8a14faff10fb8a593b6d2 (diff) |
mb/qemu/fw_cfg: Use fw_cfg_read() to read SMBIOS data
The QEMU firmware configuration driver can help initialize SMBIOS tables
using the table data that QEMU provides over the device. While doing so,
it reads from the device "file" manually using port-based IO.
Use the fw_cfg_read() helper function to read the SMBIOS-related file,
so that the driver is easier to port the driver to other architectures.
Change-Id: I18e60b8e9de34f2b0ff67af4113beec1d7467329
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80367
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/emulation/qemu-i440fx/fw_cfg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c index 0f217ccca0..a15773c9df 100644 --- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c +++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c @@ -362,9 +362,9 @@ static void fw_cfg_smbios_init(void) fw_cfg_get(FW_CFG_SMBIOS_ENTRIES, &count, sizeof(count)); for (i = 0; i < count; i++) { - insb(FW_CFG_PORT_DATA, &entry, sizeof(entry)); + fw_cfg_read(&entry, sizeof(entry)); buf = malloc(entry.length - sizeof(entry)); - insb(FW_CFG_PORT_DATA, buf, entry.length - sizeof(entry)); + fw_cfg_read(buf, entry.length - sizeof(entry)); if (entry.headertype == SMBIOS_FIELD_ENTRY && entry.tabletype == 1) { switch (entry.fieldoffset) { |