# US 2013/0160002 A1 · Managing configuration and system operations of a shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0160002 A1
- Document ID: US20130160002A1
- Status: Published application
- Kind: A1
- Application number: 13/328,595
- Filed: 2011-12-16
- Published: 2013-06-20
- Earliest claimed: 2011-12-16
- Assignees: International Business Machines Corporation
- Inventors: Charles S. Graham; Gregory M. Nordstrom; John R. Oberly, III
- Web page: https://patentgrep.com/patent/US20130160002A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method of managing an adapter includes enabling an adapter to be shared by operating systems and logical partitions. The adapter includes a plurality of multiple virtual functions. A virtualization intermediary may assign a virtual function of the plurality of virtual functions to at least one of an operating system and a logical partition. The virtual function may be used to modify an operational status of the adapter.

## Claims

### Claim 1

A method of managing an adapter, the method comprising:
enabling an adapter to be shared by at least one of a plurality of operating systems and a plurality of logical partitions, wherein the adapter includes a plurality of virtual functions;
using a virtualization intermediary to assign a virtual function of the plurality of virtual functions to at least one of an operating system of the plurality of operating systems and a logical partition of the plurality of logical partitions; and
using the virtual function to modify an operational status of the adapter.

### Claim 2 (depends on 1)

The method of claim 1, further comprising presenting the virtual function as a non-single root input/output virtualization (non-SR-IOV) function.

### Claim 3 (depends on 1)

The method of claim 1, further comprising presenting the virtual function as a peripheral component interconnect (PCI) function.

### Claim 4 (depends on 1)

The method of claim 1, further comprising correlating the SR-IOV function to a non-SR-IOV function.

### Claim 5 (depends on 1)

The method of claim 1, further comprising generating the virtual function as an SR-IOV function.

### Claim 6 (depends on 1)

The method of claim 1, further comprising generating a virtual function for each protocol of a plurality of protocols associated with each port of a plurality of ports of the adapter.

### Claim 7 (depends on 1)

The method of claim 1, further comprising using at least one of the logical partition and the operating system to modify the operational status.

### Claim 8 (depends on 1)

The method of claim 1, further comprising using the virtualization intermediary to correlate the virtual function to a non-SR-IOV function.

### Claim 9 (depends on 1)

The method of claim 1, further comprising determining whether the adapter is SR-IOV capable.

### Claim 10 (depends on 1)

The method of claim 1, further comprising using the virtualization intermediary to remove the virtual function.

### Claim 11 (depends on 1)

The method of claim 1, further comprising using the virtualization intermediary to add the virtual function to a configuration space of the adapter.

### Claim 12 (depends on 1)

The method of claim 1, further comprising using the virtualization intermediary to determine that the adapter is SR-IOV-capable and configuring the adapter as SR-IOV-enabled.

### Claim 13 (depends on 12)

The method of claim 12, further comprising activating a virtualization intermediary agent associated with the adapter and allocating virtualization intermediary storage to configure the adapter as SR-IOV-enabled.

### Claim 14

An apparatus, comprising:
an adapter to position within an adapter slot, wherein the adapter includes a plurality of virtual functions;
a processor; and
a memory storing program code, the program code executable by the processor to:
enable the adapter to be shared by at least one of a plurality of operating systems and a plurality of logical partitions;
assign a virtual function of the plurality of virtual functions to at least one of an operating system of the plurality of operating systems and a logical partition of the plurality of logical partitions; and
use the virtual function to modify an operational status of the adapter.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the operational status includes at least one of a power-off operation, a power-on operation, and an assignment of the adapter to at least one of the logical partition and the operating system.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the program code is executed to power-on the adapter slot prior to the adapter being positioned within the adapter slot.

### Claim 17 (depends on 14)

The apparatus of claim 14, wherein the adapter is a single root input/output virtualization (non-SR-IOV) adapter, and wherein the adapter slot previously contained a non-SR-IOV adapter.

### Claim 18 (depends on 17)

The method of claim 17, wherein the adapter slot is powered-off with the non-SR-IOV adapter prior to powering-on the adapter slot.

### Claim 19 (depends on 14)

The method of claim 14, wherein the adapter is an SR-IOV adapter, wherein the adapter slot previously contained a second SR-IOV adapter, and wherein the adapter slot is powered-off with the second SR-IOV adapter prior to powering-on the adapter slot.

### Claim 20

A computer program product comprising a computer usable medium having computer usable program code embodied therewith, the computer usable program code executable by a processor to:
enable an adapter to be shared by at least one of a plurality of operating systems and a plurality of logical partitions, wherein the adapter includes a plurality of virtual functions;
assign a virtual function of the plurality of virtual functions to at least one of an operating system of the plurality of operating systems and a logical partition of the plurality of logical partitions; and
use the virtual function to modify an operational status of the adapter.
