Method and system for device address translation for virtualization
First Claim
Patent Images
1. A method for device address translation for virtualization of a device comprising:
- replacing a virtual machine device identifier of the device with the corresponding real device identifier for the device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of improving USB device virtualization is proposed that allows giving virtual machines (VMs) direct access to USB devices with a combination hardware and software solutions. The USB host controller replaces device identifiers assigned by the VM with real device identifiers that are unique in the system. The real device identifiers are assigned by the VMM or the host controller.
-
Citations
39 Claims
-
1. A method for device address translation for virtualization of a device comprising:
replacing a virtual machine device identifier of the device with the corresponding real device identifier for the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. An article of manufacture comprising:
a machine-readable medium having a plurality of machine readable instructions, wherein when the instructions are executed by a system with a plurality of virtual machines, the instructions provide to populate a table for address translation for virtualization of a device;
attaching the device to the system;
reading the capabilities of the attached device; and
selecting one of the virtual machines to attach to the device. - View Dependent Claims (13, 14)
-
15. An article of manufacture comprising:
-
a machine-readable medium having a plurality of machine readable instructions, wherein when the instructions are executed by a system with a plurality of virtual machines, the instructions provide to populate a table for address translation for virtualization of a device;
attaching the device to the system;
reading the capabilities of the attached device;
selecting one of the virtual machines to attach to the device;
attaching the device to a virtual host controller of the selected virtual machine;
assigning a device address; and
substituting a real device identifier for the virtual machine device identifier for a predetermined set address command. - View Dependent Claims (16, 17, 18)
-
-
19. A bus controller for a system with a plurality of virtual machines that facilitates device address translation for virtualization of a device by:
-
assigning a real device identifier for the device;
recording the virtual machine identifier, virtual machine device identifier, and real device identifier; and
replacing the virtual machine device identifier with the real device identifier for a data transfer operation. - View Dependent Claims (20, 21)
-
-
22. A method for device address translation for virtualization of a device comprising:
-
selecting a n number of bits from a m number of bits, wherein n is less than m and the m number of bits represent a real device identifier and the n number of bits represents the virtual machine identifier; and
the n−
m number of bits represents the virtualized device'"'"'s identifier as assigned by a virtual machine. - View Dependent Claims (23)
-
-
24. A bus controller for a system with a plurality of virtual machines that facilitates device address translation for virtualization of a device by:
-
determining the real device identifier for a data transfer by concatenating the virtual machine identifier and the virtual machine device identifier; and
replacing the virtual machine device identifier with the real device identifier. - View Dependent Claims (25)
-
-
26. A bus controller for a system with a plurality of virtual machines that facilitates device address translation for virtualization of a device by:
-
modifying an identifier of the virtualized device in each packet that the host controller transmits; and
by replacing the virtual machine device identifier with the real device identifier in the packet. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A computer system comprising:
-
one or more processors;
memory;
a bus;
one or more virtual machines with one or more virtualized devices; and
a bus controller which modifies the address of the virtualized device in each packet that the bus controller transmits by replacing the virtual machine device identifier with the real device identifier in the packet. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A method for device address translation for virtualization of a device comprising:
-
replacing a VM device ID with a real device ID in response to a predetermined command and populating a translation table;
looking up the VM device ID in a transfer descriptor and a virtual machine identifier (VMID) in the translation table during a data transfer;
replacing the VM device ID with the real device ID from the translation table in the data transfer. - View Dependent Claims (37, 38, 39)
-
Specification