From 2009f7c0b7a11004787d2bedaf2735b060182420 Mon Sep 17 00:00:00 2001 From: Alper Nebi Yasak Date: Wed, 7 Feb 2024 11:02:59 +0300 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80367 Reviewed-by: Nico Huber Reviewed-by: Martin L Roth Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- src/mainboard/emulation/qemu-i440fx/fw_cfg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') 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) { -- cgit v1.2.3