|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] fix for Failed VMEntry on VMX
I don't think so. If a CPU in real mode is allowed to use
a segment base set in another mode (to something other than
sel << 4), I think that's outside the scope of what vmxassist
was designed to do. (Because vmxassist relies on vm86 mode,
and the VMX spec says vm86 mode guests must have their segment
bases = sel << 4 upon vmentry ... and the chips certainly behave
as specified in this regard.)
I don't really understand the implications of not supporting arbitrary
segment bases in real mode guests (what code actually does this?),
but since it can't work in the current implementation, this patch must
not be breaking it ...
Dave
Will this not break "big real-mode" type behaviour? Or am I missing something here? Certainly the x86 architecture itself allows the segment
(in real mode) to have a different base address than the "selector << 4" that you get when you LOAD a selector in REAL MODE. It's just that in real-mode, you can't set a different base, but code that has temporarily
run in non-real mode (i.e. enter protected mode then set segment register than exit back to real-mode) can do all sorts of magic. If this is really expected behaviour, it would also be expected to have a limit
of 0xffff, or you're sort of half-breaking the rules still...
-- Mats
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|