[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [patch 3/3] VT-d cleanup: correct way to submit command to GCMD register
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> Attachment:
gcmd.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |