| US 7,543,131 B2 | ||
| Controlling an I/O MMU | ||
| Mark D. Hummel, Franklin, Mass. (US); Andrew W. Lueck, Austin, Tex. (US); Geoffrey S. Strongin, Austin, Tex. (US); Mitchell Alsup, Austin, Tex. (US); and Michael J. Haertel, Sunnyvale, Calif. (US) | ||
| Assigned to Advanced Micro Devices, Inc., Sunnyvale, Calif. (US) | ||
| Filed on Aug. 11, 2006, as Appl. No. 11/503,390. | ||
| Claims priority of provisional application 60/759826, filed on Jan. 17, 2006. | ||
| Claims priority of provisional application 60/707629, filed on Aug. 12, 2005. | ||
| Prior Publication US 2007/0038839 A1, Feb. 15, 2007 | ||
| Int. Cl. G06F 12/08 (2006.01) | ||
| U.S. Cl. 711—202 [711/154; 711/203; 711/205; 711/206; 711/207; 710/5; 710/36; 710/39] | 32 Claims |

| 17. A computer system comprising:
a processor;
a memory management module comprising a plurality of instructions executable on the processor;
an input/output memory management unit (IOMMU) configured to implement address translation and memory protection for memory
operations sourced by one or more input/output (I/O) devices; and
a memory subsystem comprising a memory controller and a memory coupled to the memory controller;
wherein the memory stores a command queue during use, and wherein the memory management module is configured to write one
or more control commands to the command queue, and wherein the IOMMU is configured to read the control commands from the command
queue and execute the control commands, and wherein the control commands comprise invalidate commands defined to invalidate
cached translation data in the IOMMU, wherein the cached translation data is used by the IOMMU to perform the address translation
and memory protection for memory requests sourced by the I/O devices.
|