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
OG exemplary drawing
 
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.