On 11/03/2009 08:02 AM, Kevin O'Connor wrote:
On Tue, Nov 03, 2009 at 07:01:52AM +0200, Avi Kivity wrote:
That works too, but if firmware config can use rep/ins, that's one less
interface we have to add.
The following patch to seabios seems to work. I'm not sure if there
are any special implications to qemu.
-Kevin
--- a/src/paravirt.c
+++ b/src/paravirt.c
@@ -23,8 +23,7 @@ qemu_cfg_select(u16 f)
static void
qemu_cfg_read(u8 *buf, int len)
{
- while (len--)
- *(buf++) = inb(PORT_QEMU_CFG_DATA);
+ insb(PORT_QEMU_CFG_DATA, buf, len);
}
Should make sure to use the 32-bit address size version so we use ecx,
not cx, in case len doesn't fit in 16 bits.
--
Do not meddle in the internals of kernels, for they are subtle and quick to
panic.