发明名称 FUNCTION TRANSFER USING VIRTUALIZED MAPPING
摘要 The present disclosure includes a method for migration of a first virtual function of a first device located on a PCI bus and accessible by a device driver using a virtual address. A second virtual function is created on a second device. A base address is determined for the second virtual function as a function of a logical location of the second device within the PCI structure. An offset is determined for the second virtual function as a function of the base address and the virtual address. The device driver is notified that the first virtual function is on hold. The offset is stored in a translation table. The device driver is notified that the hold has been lifted. Accesses to the virtual address and by the device driver to memory of the second virtual function are routed based upon the offset in the translation table.
申请公布号 US2015052281(A1) 申请公布日期 2015.02.19
申请号 US201314101398 申请日期 2013.12.10
申请人 International Business Machines Corporation 发明人 Hart Brian W.;Jiang Liang;Kalavakolanu Anil;Moore Shannon D.;Wallis Robert E.;Yeung Evelyn T.
分类号 G06F13/28;G06F13/16;G06F9/455 主分类号 G06F13/28
代理机构 代理人
主权项 1. A system comprising: a main memory; a plurality of Peripheral Component Interconnect (PCI) adapter devices having virtual functions with direct memory access (DMA) capabilities to the main memory, wherein at least one plurality of Peripheral Component Interconnect (PCI) adapter devices has at least two of the virtual functions; a plurality of PCI Bridges that provide corresponding real PCI busses upon which the plurality of PCI adapter devices reside, the real PCI busses having real PCI bus numbers; a plurality of virtual machines each having one or more device drivers configured to manage access to the virtual functions using a separate and different virtual PCI bus for each of the virtual functions, anda common address range for each of the virtual functions; one or more hypervisors configured to translate the separate and different virtual PCI busses to the real PCI bus numbers; and a memory storing offset values relative to the common address range and a mapping of each virtual function to a distinct location in the main memory.
地址 Armonk NY US