| US 7,587,575 B2 | ||
| Communicating with a memory registration enabled adapter using cached address translations | ||
| Daniel F. Moertl, Rochester, Minn. (US); Renato J. Recio, Austin, Tex. (US); Claudia A. Salzberg, Austin, Tex. (US); and Steven M. Thurber, Austin, Tex. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Oct. 17, 2006, as Appl. No. 11/550,217. | ||
| Prior Publication US 2008/0091915 A1, Apr. 17, 2008 | ||
| Int. Cl. G06F 12/02 (2006.01) | ||
| U.S. Cl. 711—206 [711/6; 711/202] | 19 Claims |

| 1. A method, in a data processing system, for managing address translations, comprising:
invoking, by a device driver, device driver services for initializing address translation entries in an address translation
data structure of a root complex of the data processing system;
passing, from the device driver to the device driver services, an address of a device driver memory data structure and registration
modifiers;
creating, by the device driver services, one or more address translation data structure entries in the address translation
data structure associated with the root complex, the one or more address translation data structure entries specifying a translation
of an untranslated address into a translated address that is used to directly access the device driver memory data structure;
creating, by the device driver services, one or more memory registration (MR) address translation and protection table (ATPT)
entries, corresponding to the one or more address translation data structure entries, in a MR ATPT data structure of an adapter;
and
using the MR ATPT data structure with I/O operations to bypass the address translation data structure associated with the
root complex, wherein the device driver is provided in one of a system image or an untrusted logical partition of the data
processing system and the device driver services are provided in a trusted virtualization intermediary.
|