Tim Deegan
2007-Oct-25 13:27 UTC
[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@xensource.com>, XenSource UK Limited Registered office c/o EC2Y 5EB, UK; company number 05334508 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel