This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Calculate correct instruction length for data-fa

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

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