|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] 32bit/PAE guest on 64bit hypervisor work
On 21/8/06 11:19 am, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> While originally I expected to get at least the fundamentals of this done
> without need to change the ABI in any form, I quickly ran into issues with
> the GDT layout (since the guest usable selectors are published I consider
> them part of the ABI): Obviously, the selector values used to run a 32bit
> guest should match those of the 32bit hv, and hence the GDT layout
> needs to be changed for the 64bit hv. This is despite context switches
> between 32bit and 64bit guests needing to switch the GDT, since
> __HYPERVISOR_DS32 overlaps 32bit's FLAT_RING1_CS32. The GDT
> switching itself will be necessary because the 32bit guest must not be
> able to use FLAT_RING3_CS64.
This doesn't sound like a showstopper to me. We just move __HYPERVISOR_DS32
to a different location on x86/64 (it's not part of the ABI). Then we
context switch entries 3,4,5,6 of the GDT. In fact entry 3 can perhaps stay
as ring-1 code, and we only need to switch entries 4,5,6.
And yes: incremental patches are definitely best. There are multiple people
working on this so we want to avoid duplicated effort and also make sure we
all agree the strategy for implementing this feature.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|