SCALABLE INTERRUPT VIRTUALIZATION FOR INPUT/OUTPUT DEVICES

    公开(公告)号:US20220107910A1

    公开(公告)日:2022-04-07

    申请号:US17550977

    申请日:2021-12-14

    申请人: Intel Corporation

    IPC分类号: G06F13/24 G06F9/455 G06F9/48

    摘要: Implementations of the disclosure provide processing device comprising: an interrupt managing circuit to receive an interrupt message directed to an application container from an assignable interface (AI) of an input/output (I/O) device. The interrupt message comprises an address space identifier (ASID), an interrupt handle and a flag to distinguish the interrupt message from a direct memory access (DMA) message. Responsive to receiving the interrupt message, a data structure associated with the interrupt managing circuit is identified. An interrupt entry from the data structure is selected based on the interrupt handle. It is determined that the ASID associated with the interrupt message matches an ASID in the interrupt entry. Thereupon, an interrupt in the interrupt entry is forwarded to the application container.

    HIGH-PERFORMANCE INPUT-OUTPUT DEVICES SUPPORTING SCALABLE VIRTUALIZATION

    公开(公告)号:US20200012530A1

    公开(公告)日:2020-01-09

    申请号:US16351396

    申请日:2019-03-12

    申请人: Intel Corporation

    IPC分类号: G06F9/50 H04L12/58

    摘要: Techniques for scalable virtualization of an Input/Output (I/O) device are described. An electronic device composes a virtual device comprising one or more assignable interface (AI) instances of a plurality of AI instances of a hosting function exposed by the I/O device. The electronic device emulates device resources of the I/O device via the virtual device. The electronic device intercepts a request from the guest pertaining to the virtual device, and determines whether the request from the guest is a fast-path operation to be passed directly to one of the one or more AI instances of the I/O device or a slow-path operation that is to be at least partially serviced via software executed by the electronic device. For a slow-path operation, the electronic device services the request at least partially via the software executed by the electronic device.