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

[Xen-devel] [VTD] Cache control in shadowed PSE l2 entries



Hi,

In vt-d passthrough domains, cache control bits in the guests' superpage
l2 entries are propagated into the splintered l1 entries (by
guest_walk_tables()) and then shadowed.  This might cause problems if
the guest ever maps memory with superpages with different cache control
settings:

 - Only one splintered shadow is made for each area of memory,
   so multiple mappings with different settings will use the same 
   shadow entries.  The guest shouldn't do this, of course.
 - If an old mapping is torn down and a new one set up with different 
   cache control, or if the cache control bits of an existing l2e are
   changed in place, the old shadow l1es might still exist afterwards.

I'm not sure what to do about it at the moment -- the best thing in the
long term would be to have a superpage l2 entry in the shadows; in the
short term it might be easier to detect when the splintered l1es need to
be deleted and re-calculated.

(The code in guest_walk_tables() that was there before vt-d was also
misleading: we were copying *only* the PAT bit, and then throwing it
away later.)

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, XenSource UK Limited
Registered office c/o EC2Y 5EB, UK; company number 05334508

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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