Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition
First Claim
1. A method, in a data processing system, for managing input/output (I/O) virtualization, comprising:
- creating one or more client partitions in the data processing system, each client partition having an associated portion of resources of the data processing system;
performing I/O virtualization management operations with an I/O endpoint associated with the data processing system, wherein the I/O virtualization management operations operate to configure at least one of a physical function or a virtual function of the I/O endpoint;
creating an I/O virtualization management partition (IMP) in the data processing system, wherein the IMP performs a subset of the I/O virtualization management operations with the I/O endpoint to thereby manage a set of physical functions, comprising one or more physical functions of the I/O endpoint, and wherein the one or more client partitions are not permitted to perform I/O virtualization management operations on the set of physical functions but are permitted to perform I/O virtualization management operations on the client partitions'"'"' associated virtual functions in the I/O endpoint; and
controlling access of the I/O virtualization management operations to resources of the I/O endpoint using a virtual intermediary separate from the I/O virtualization management partition (IMP), wherein the virtual intermediary prevents a client partition from accessing resources of the I/O endpoint that are not assigned to that client partition.
1 Assignment
0 Petitions
Accused Products
Abstract
Mechanisms are provided for an I/O virtualization management partition (IMP) to control the shared functionality of an I/O virtualization (IOV) enabled I/O adapter (IDA) through a physical function (PF) of the IOA while the virtual functions (VFs) are assigned to client partitions for normal I/O operations directly. A hypervisor provides device-independent facilities to the code running in the IMP and client partitions. The IMP may include device specific code without the hypervisor needing to sacrifice its size, robustness, and upgradeability. The hypervisor provides the virtual intermediary functionally for the sharing and control of the IOA'"'"'s control functions.
-
Citations
23 Claims
-
1. A method, in a data processing system, for managing input/output (I/O) virtualization, comprising:
-
creating one or more client partitions in the data processing system, each client partition having an associated portion of resources of the data processing system; performing I/O virtualization management operations with an I/O endpoint associated with the data processing system, wherein the I/O virtualization management operations operate to configure at least one of a physical function or a virtual function of the I/O endpoint; creating an I/O virtualization management partition (IMP) in the data processing system, wherein the IMP performs a subset of the I/O virtualization management operations with the I/O endpoint to thereby manage a set of physical functions, comprising one or more physical functions of the I/O endpoint, and wherein the one or more client partitions are not permitted to perform I/O virtualization management operations on the set of physical functions but are permitted to perform I/O virtualization management operations on the client partitions'"'"' associated virtual functions in the I/O endpoint; and controlling access of the I/O virtualization management operations to resources of the I/O endpoint using a virtual intermediary separate from the I/O virtualization management partition (IMP), wherein the virtual intermediary prevents a client partition from accessing resources of the I/O endpoint that are not assigned to that client partition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A data processing system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; create one or more client partitions in the data processing system, each client partition having an associated portion of resources of the data processing system; perform I/O virtualization management operations with I/O endpoint associated with the data processing system, wherein the I/O virtualization management operations operate to configure at least one of a physical function or a virtual function of the I/O endpoint; create an I/O virtualization management partition (IMP) in the data processing system, wherein the IMP performs a subset of the I/O virtualization management operations with the I/O endpoint to thereby manage a set of physical functions, comprising one or more physical functions of the I/O endpoint, and wherein the one or more client partitions are not permitted to perform I/O virtualization management operations on the set of physical functions but are permitted to perform I/O virtualization management operations on the client partitions'"'"' associated virtual functions in the I/O endpoint, and control access of the I/O virtualization management operations to resources of the I/O endpoint using a virtual intermediary separate from the IMP, wherein the virtual intermediary prevents a client partition from accessing resources of the I/O endpoint that are not assigned to that client partition. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product comprising a computer readable storage medium having a computer readable program stored thereon, wherein the computer readable program, when executed in a data processing system, causes the data processing system to:
-
create one or more client partitions in the data processing system, each client partition having an associated portion of resources of the data processing system; perform I/O virtualization management operations with an I/O endpoint associated with the data processing system, wherein the I/O virtualization management operations operate to configure at least one of a physical function or a virtual function of the I/O endpoint; create an I/O virtualization management partition (IMP) in the data processing system, wherein the IMP performs a subset of the I/O virtualization management operations with the I/O endpoint to thereby manage a set of physical functions, comprising one or more physical functions of the I/O endpoint, and wherein the one or more client partitions are not permitted to perform I/O virtualization management operations on the set of physical functions but are permitted to perform I/O virtualization management operations on the client partitions'"'"' associated virtual functions in the I/O endpoint; and control access of the I/O virtualization management operations to resources of the I/O endpoint using a virtual intermediary separate from the IMP, wherein the virtual intermediary prevents a client partition from accessing resources of the I/O endpoint that are not assigned to that client partition.
-
Specification