[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [patch 0/3] VT-d: code cleanup
We started to do some cleanup on VT-d code. You will see more cleanup patches in coming weeks. This patchset includes following patches: 1. remove-useless.patch: remove global variable "vtd_enabled", which is redundant. "iommu_enabled" is enough. And also removed useless global variables qi_ctrl and ir_ctrl, which are not used at all. 2. iommu-wait-op.patch: when set some registers of VT-d, it must wait for hardware completion. There are lots of duplicated code to do that. This patch defines a macro for it, thus it is much cleaner. 3. gcmd.patch: per VT-d spec, software should submit only one "incremental" command at a time to Global Command reigster. Current implementation uses a variable (gcmd) to record the state of Global Status register. It's error prone. A good algorithm to use is as follows, whenver software needs to submit a command: Read current value of Global Status Register (X); // This tells what is the current state of commands enabled in hardware X = Bitwise OR the new command bit to X; // The only new bit set in X is the one new command we are going to issue Write X to Global Command register; // Submit the command Poll Global Status register until it has new value of X ; // Poll until command is done Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |