Patent ID: 7587575

Claim:
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.