DMA windowing in an LPAR environment using device arbitration level to allow multiple IOAs per terminal bridge
First Claim
1. A logically partitioned data processing system, comprising:
- a plurality of logical partitions;
a plurality of operating systems, each assigned to one of said plurality of logical partitions;
a plurality of memory locations, each location assigned to one of said plurality of logical partitions;
a data transmission bus;
at least one terminal bridge connected to said data transmission bus;
a plurality of input/output adapters, each associated with a different one of said plurality of logical partitions, said input/output adapters being connected to said terminal bridge; and
means for preventing transmission of data between a given one of said input/output adapters which is associated with a first one of the plurality of logical partitions, and memory locations unassigned to said first one of said plurality of logical partitions.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and apparatus for preventing input/output (I/O) adapters used by an operating system (OS) image, in a logically partitioned data processing system, from fetching or corrupting data from a memory location allocated to another OS image within the data processing system is provided. A hypervisor prevents transmission of data between an input/output adapter in one of the logical partitions and memory locations assigned to other logical partitions during a direct memory access (DMA) operation by assigning each of the input/output adapters a range of I/O bus DMA addresses. The I/O adapters (IOAs) are connected to PCI host bridges via terminal bridges. A single terminal bridge may support multiple IOAs, in which case every terminal bridge has a plurality of sets of range registers, each associated with a respective one of the IOAs to which it is connected. An arbiter is provided which selects one of the input/output adapters to use the PCI bus. The terminal bridge can examine the grant signals from the arbiter to the IOAs, to determine which set of range registers is to be used.
19 Citations
16 Claims
-
1. A logically partitioned data processing system, comprising:
-
a plurality of logical partitions;
a plurality of operating systems, each assigned to one of said plurality of logical partitions;
a plurality of memory locations, each location assigned to one of said plurality of logical partitions;
a data transmission bus;
at least one terminal bridge connected to said data transmission bus;
a plurality of input/output adapters, each associated with a different one of said plurality of logical partitions, said input/output adapters being connected to said terminal bridge; and
means for preventing transmission of data between a given one of said input/output adapters which is associated with a first one of the plurality of logical partitions, and memory locations unassigned to said first one of said plurality of logical partitions. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of preventing an operating system image within a logically partitioned data processing system from fetching or corrupting data from a memory location allocated to another operating system image within the data processing system, the method comprising the steps of:
-
receiving a request from the operating system image to access a given one of a plurality of input/output adapters each associated with a different one of a plurality of logical partitions of the data processing system, wherein the input/output adapters are connected to a single terminal bridge; and
accessing the given input/output adapter using memory mapped to the operating system image. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for use in a data processing system for preventing an operating system image within a logically partitioned data processing system from fetching or corrupting data from a memory location allocated to another operating system image within the data processing system, the computer program product comprising:
-
a storage medium; and
program instructions stored on said storage medium for receiving a request from the operating system image to access a given one of a plurality of input/output adapters each associated with a different one of a plurality of logical partitions of the data processing system, wherein the input/output adapters are connected to a single terminal bridge, and for accessing the given input/output adapter using memory mapped to the operating system image. - View Dependent Claims (14, 15, 16)
-
Specification