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

Re: [Xen-devel] [PATCH] nestedsvm: fix paging mode

At 15:50 +0200 on 01 Oct (1349106630), Christoph Egger wrote:
> On 09/27/12 16:53, Tim Deegan wrote:
> > At 16:01 +0200 on 21 Sep (1348243291), Christoph Egger wrote:
> >>
> >> On VMRUN and VMEXIT emulation update the paging mode
> >> for Shadow-on-Nested. This allows Xen to walk the
> >> l1 hypervisors shadow page table correctly.
> >> Problem found with 64bit Win7 and 32bit XPMode where
> >> Win7 switches forth and back between long mode and
> >> PAE legacy pagetables.
> >>
> >> Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
> > 
> > Don't you have to do this in other cases as well?  I think that
> > shadow-on-shadow might need it, at least.
> It is needed for all cases where the l1 guest does shadow paging.
> This includes: Shadow-on-Nested and Shadow-on-Shadow.

I've looked more closely at this and now I'm more confused. :)

Hap-on-hap seems to be OK without it because the special case in
paging_gva_to_gfn() does the right thing, using the nestedmode's pt

Why is that not good enough for shadow-on-hap?  Is there another path
that does unguarded pt walks?  If so:
 - why is that path not a problem for hap-on-hap; and
 - shouldn't that be handled the same way, i.e. either handle everything
   at lookup time, like paging_gva_to_gfn() does, or handle everything
   by switching modes at VMRUN/EXIT?

Shadow-on-shadow could potentially be handled the same way as the other
configurations, by extending the special case in paging_gva_to_gfn(),
but I suspect that a mode switch on VMRUN/EXIT is more likely to Just
Work there.


Xen-devel mailing list



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