Re: [RFC 0/4] KVM in-kernel PM Timer implementation

Anthony Liguori
2010-12-14T16:04:10Z

On 12/14/2010 09:38 AM, Avi Kivity wrote:
> Fortunately, we have a very good bytecode interpreter that's
> accelerated in the kernel called KVM ;-)
>
> We have exactly the same bytecode interpreter under a different name,
> it's called userspace.
>
> If you can afford to make the transition back to the guest for
> emulation, you might as well transition to userspace.

If you re-entered the guest and setup a stack that had the RIP of the
source of the exit, then there's no additional need to exit the guest.
The handler can just do an iret. Or am I missing something?

>>
>> Why not have the equivalent of a paravirtual SMM mode where we can
>> reflect IO exits back to the guest in a well defined way? It could
>> then implement PM timer in terms of HPET or something like that.
>
> More exits.

Yeah, I should have said, implement in terms of kvmclock so no
additional exits.

>>
>> We already have a virtual address space that works for most guests
>> thanks to the TPR optimization.
>
> It only works for Windows XP and Windows XP with the /3GB extension.

Is this a fundamental limitation or just a statement of today's
heuristics? Does any guest not keep the BIOS in virtual memory in a
static location?

Regards,

Anthony Liguori