Re: QEMU PIC indirection patch for in-kernel APIC work

Avi Kivity
2007-04-04T16:02:09Z

Anthony Liguori wrote:
>> Maybe some brave soul can hack kvm to patch the new instruction in
>> place of the mmio instruction Windows uses to bang on the tpr.
>
> It seems like that shouldn't be too hard assuming that the MMIO
> instructions are <= the new CR8 instruction. It would require knowing
> where the TPR is mapped into memory of course.

Well, we know the physical address (some msr) and the virtual mapping.
But we must be sure that the instruction is only used for setting the
tpr, and not other registers.

Er, thinking a bit more, cr8 is just 4 bits (and no, not the least
significant) out of the 8-bit tpr, so it doesn't work without serious
hackery.

>
> If we do this, then we can probably just handle the TPR as a special
> case anyway and not bother returning to userspace when the TPR is
> updated through MMIO. That saves the round trip without adding
> emulation complexity.

That means the emulation is split among user space and kernel. Not
nice. One of the advantages of moving the entire thing is that it is at
least clearly defined.

--
error compiling committee.c: too many arguments to function