Providing interrupts from an input-output memory management unit to guest operating systems

    公开(公告)号:US11042495B2

    公开(公告)日:2021-06-22

    申请号:US16578165

    申请日:2019-09-20

    Abstract: An electronic device includes a processor that executes a guest operating system; a memory having a guest portion that is reserved for storing data and information to be accessed by the guest operating system; and an input-output memory management unit (IOMMU). The IOMMU performs operations for signaling an interrupt to the guest operating system. For these operations, the IOMMU acquires, from an entry in an interrupt remapping table associated with the guest operating system, a location in a virtual advanced programmable interrupt controller (APIC) backing page for the guest operating system in the guest portion of the memory. The IOMMU then writes information about the interrupt to the location in the virtual APIC backing page. The IOMMU next communicates an indication of the interrupt to the guest operating system.

    Secured input/output resource protection

    公开(公告)号:US10824349B1

    公开(公告)日:2020-11-03

    申请号:US16222334

    申请日:2018-12-17

    Abstract: A processing system includes a plurality of input/output (I/O) devices representing a plurality of I/O resources. Each I/O resource has at least one corresponding memory mapped I/O (MMIO) address range. A trap handler detects a write request targeting a configuration space of an identified I/O resource of the plurality of I/O resources and, responsive to determining the identified I/O resource is a protected I/O resource, selectively blocks the write request from further processing by the processing system based on whether the write request would change an MMIO address decoding of the identified I/O resource.

    LIGHT-WEIGHT MEMORY EXPANSION IN A COHERENT MEMORY SYSTEM

    公开(公告)号:US20200226081A1

    公开(公告)日:2020-07-16

    申请号:US16249649

    申请日:2019-01-16

    Abstract: Systems, methods, and port controller designs employ a light-weight memory protocol. A light-weight memory protocol controller is selectively coupled to a Cache Coherent Interconnect for Accelerators (CCIX) port. Over an on-chip interconnect fabric, the light-weight protocol controller receives memory access requests from a processor and, in response, transmits associated memory access requests to an external memory through the CCIX port using only a proper subset of CCIX protocol memory transactions types including non-cacheable transactions and non-snooping transactions. The light-weight memory protocol controller is selectively uncoupled from the CCIX port and a remote coherent slave controller is coupled in its place. The remote coherent slave controller receives memory access requests and, in response, transmits associated memory access requests to a memory module through the CCIX port using cacheable CCIX protocol memory transaction types.

    LEVERAGING A PERIPHERAL DEVICE TO EXECUTE A MACHINE INSTRUCTION
    38.
    发明申请
    LEVERAGING A PERIPHERAL DEVICE TO EXECUTE A MACHINE INSTRUCTION 有权
    利用外围设备执行机器指令

    公开(公告)号:US20150106916A1

    公开(公告)日:2015-04-16

    申请号:US14052182

    申请日:2013-10-11

    CPC classification number: G06F9/4411 G06F9/30145 G06F9/3881

    Abstract: A method includes executing microcode in a processing unit of a processor to implement a machine instruction, wherein the microcode is to manipulate the processing unit to access a peripheral device on a public communication bus at a private address not visible to other devices on the public communication bus and not specified in the machine instruction. A processor includes a public communication bus, a peripheral device coupled to the public communication bus, and a processing unit. The processing unit is to execute microcode to implement a machine instruction. The microcode is to manipulate the processing unit to access a peripheral device on a public communication bus at a private address not visible to other devices on the public communication bus and not specified in the machine instruction.

    Abstract translation: 一种方法包括在处理器的处理单元中执行微代码以实现机器指令,其中微代码是操纵处理单元以公共通信总线上的外部设备访问公用通信上的其他设备不可见的专用地址 总线,并未在机器指令中指定。 处理器包括公共通信总线,耦合到公共通信总线的外围设备和处理单元。 处理单元是执行微代码来实现机器指令。 微代码是操纵处理单元以公用通信总线上的公共通信总线上的外部设备访问公共通信总线上的其他设备不可见的私有地址,并且未在机器指令中指定。

    Domain identifier and device identifier translation by an input-output memory management unit

    公开(公告)号:US11494211B2

    公开(公告)日:2022-11-08

    申请号:US16390663

    申请日:2019-04-22

    Abstract: An electronic device includes a processor that executes a guest operating system and a hypervisor, an input-output (IO) device, and an input-output memory management unit (IOMMU). The IOMMU handles communications between the IOMMU and the guest operating system by: replacing, in communications received from the guest operating system, guest domain identifiers (domainIDs) with corresponding host domainIDs and/or guest device identifiers (deviceIDs) with corresponding host deviceIDs before further processing the communications; replacing, in communications received from the IO device, host deviceIDs with guest deviceIDs before providing the communications to the guest operating system; and placing, into communications generated in the IOMMU and destined for the guest operating system, guest domainIDs and/or guest deviceIDs before providing the communications to the guest operating system. The IOMMU handles the communications without intervention by the hypervisor.

Patent Agency Ranking