[Xen-devel] [patch 0/2] VT-d: code cleanup

Han, Weidong
2009-06-12T05:15:30Z

The patchset does cleanup on flush and lock.

Patch 1: Fix flush for SRTP and SIRTP set
	SRTP (Set Root Table Pointer) operation must be set before enable or re-enable
DMA remapping. And after set it, software must globally invalidate the
context-cache and then globally invalidate the IOTLB. This is required to ensure
hardware uses only the remapping structures referenced by the new root-table
pointer, and not stale cached entries. Similarly, SIRTP (Set Interrupt Remap
Table Pointer) operation must be set before enable or re-enable Interrupt
remapping, and after set it, software must globally invalidate the interrupt
entry cache.
	This patch adds global context and iotlb flush after set root entry, and
globally flushs interrupt entry cache before enabling Interrupt remapping. And
remove the iommu_flush_all in iommu_resume becuase it becomes redundant after
adds flush for SRTP in init_vtd_hw.

Patch 2: Clean up lock for VT-d register writes
	It should get lock to write VT-d registers. Currently there are some register
writes without lock. This patch complements register_lock for those writes.

Regards,
Weidong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com