Gerd Hoffmann (kraxel@redhat.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4028
-gerrit
commit 4c5348db066b4bd601ff17dfce4f0ca52df33eaa Author: Gerd Hoffmann kraxel@redhat.com Date: Wed Jun 12 10:19:25 2013 +0200
qemu: fw_cfg insb workaround
Hmm, no idea why this makes a difference. It shouldn't, but does.
Change-Id: Id81331a6484702805523344ff3c082e676532226 Signed-off-by: Gerd Hoffmann kraxel@redhat.com --- src/mainboard/emulation/qemu-i440fx/fw_cfg.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c index 5166f83..6884d37 100644 --- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c +++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c @@ -44,7 +44,15 @@ static int fw_cfg_present(void) void fw_cfg_get(int entry, void *dst, int dstlen) { outw(entry, FW_CFG_PORT_CTL); +#if 0 insb(FW_CFG_PORT_DATA, dst, dstlen); +#else + u8 *d = dst; + while (dstlen) { + *d = inb(FW_CFG_PORT_DATA); + d++; dstlen--; + } +#endif }
int fw_cfg_max_cpus(void)