[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Calculate correct instruction length for data-fault VM exits on VT-x systems




On 30 Apr 2006, at 02:37, Leendert van Doorn wrote:

How does this work now? Do we really have two copies of each device
model? I doubt that's implemented safely.

Right now the realmode code runs inside the VMX partition where it is
partially emulated by vmxassist. So all accesses to the emulated devices
go through the hypervisor first before they (potentially) end up in
qemu-dm. When a transition is made to 32/64-bit code all the initialized
device state is still there.

Ah yes, I forgot that the mmio decoder stuff in Xen handles real mode. So that means that currently each device model is either implemented in Xen or in qemu-dm, but not both (now that the heinous split PIT device model is gone). That's a nice state of affairs.

The problem of keeping the the hypervisor state and the qemu-dm state in
sync is introduced when we alternate between emulation and real
execution. This becomes more interesting when we consider MP guests
where one CPU is running inside the emulator and another on the real
hardware.

It'd obviously be better avoided altogether, unless we have to perform horrible contortions to do so, or if doing so would hurt performance of operations that we care about.

Don't get me wrong by the way: I do think that leveraging qemu's full emulator, at least to get us out of the stickiest situations, is a very good idea. I'm only concerned about some of the finer details.

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.