Patent ID: 7779182
Filing Date: 2010-08-17
Classification: H04L

Abstract:
1. A computer program product, which is stored in a computer recordable medium, for validating operations in a logically partitioned data processing system that includes a computer system that includes a physical input/output (I/O) adapter; the computer program product comprising: first instructions for running, by the computer system, a plurality of virtual hosts within the computer system; each one of the plurality of virtual hosts executing an operating system independently from operating systems being executed by other ones of the virtual hosts; for each one of the plurality of virtual hosts, second instructions for allocating a subset of the physical I/O adapter's resources for the one of the plurality of virtual hosts to use as an associated virtual I/O adapter; third instructions for receiving, by the physical I/O adapter from one of the plurality of virtual hosts, an input/output operation that includes a virtual host identifier; and fourth instruction for determining, by the physical I/O adapter, whether the one of the plurality of virtual hosts is attempting to access the virtual I/O adapter that is associated with the one of the plurality of virtual hosts by; fifth instructions, in the physical I/O adapter, that use the virtual host identifier to look up a data structure, wherein the data structure is associated with only the one of the plurality of virtual hosts and points to an address space associated with the one of the plurality of virtual hosts, wherein the address space is stored only within the physical I/O adapter; sixth instructions, in the physical I/O adapter, that, responsive to looking up the data structure, identify a direct memory access address in a work queue data structure associated with the input/output operation; seventh instructions, in the physical I/O adapter, that compare the direct memory access address with the address space; and eighth instructions, in the physical I/O adapter, that, responsive to the seventh instructions comparing the direct memory access address, determine if the input/output operation is valid.