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

[Xen-devel] Altp2m/#VE page issue



Hello,

We're trying to get #VE to work with a "regular" guest page (that is,
not a page that we get via xc_domain_increase_reservation_exact() /
xc_domain_populate_physmap_exact()).

However, the way Xen's code works now, it doesn't seem to be possible:

http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/x86/hvm/vmx/vmx.c;h=20a8a69fbe412aa928c75b5d7756816bf55178fc;hb=refs/heads/staging#l2150

because get_gfn_query_unlocked() calls ept_get_entry(), which returns
INVALID_MFN if gfn > p2m->max_mapped_pfn.

max_mapped_pfn is only ever updated in ept_set_entry(), and so unless
ept_set_entry() gets called previously to vmx_vcpu_update_vmfunc_ve(),
we will fail to enable #VE for any given (valid) GFN.

I believe that this works with the
xc_domain_increase_reservation_exact() /
xc_domain_populate_physmap_exact() strategy because somewhere at the end
of the callchain, ept_set_entry() _does_ get called for the new GFN.

Forcing max_mapped_pfn should work, but I can't help thinking that
there's a better way. Maybe George and Tamas have a suggestion here?


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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