Invalidating translation lookaside buffer entries in a virtual machine system
    131.
    发明授权
    Invalidating translation lookaside buffer entries in a virtual machine system 失效
    使虚拟机系统中的翻译后备缓冲区条目无效

    公开(公告)号:US08751752B2

    公开(公告)日:2014-06-10

    申请号:US13837648

    申请日:2013-03-15

    CPC classification number: G06F12/1027 G06F9/30076 G06F12/1036 G06F2212/151

    Abstract: One embodiment of the present invention is a technique to invalidate entries in a translation lookaside buffer (TLB). A TLB in a processor has a plurality of TLB entries. Each TLB entry is associated with a virtual machine extension (VMX) tag word indicating if the associated TLB entry is invalidated according to a processor mode when an invalidation operation is performed. The processor mode is one of execution in a virtual machine (VM) and execution not in a virtual machine. The invalidation operation belongs to a non-empty set of invalidation operations composed of a union of (1) a possibly empty set of operations that invalidate a variable number of TLB entries, (2) a possibly empty set of operations that invalidate exactly one TLB entry, (3) a possibly empty set of operations that invalidate the plurality of TLB entries, (4) a possibly empty set of operations that enable and disable use of virtual memory, and (5) a possibly empty set of operations that configure physical address size, page size or other virtual memory system behavior in a manner that changes the manner in which a physical machine interprets the TLB entries.

    Abstract translation: 本发明的一个实施例是使翻译后备缓冲器(TLB)中的条目无效的技术。 处理器中的TLB具有多个TLB条目。 当执行无效操作时,每个TLB条目与虚拟机扩展(VMX)标签字相关联,指示相关联的TLB条目是否根据处理器模式而无效。 处理器模式是虚拟机(VM)中的执行之一,而不是虚拟机中的执行。 无效操作属于一个无效的无效操作集合,它由(1)可能为空的操作集合组合,使一组可变数量的TLB条目无效,(2)一组可能的空白操作,使一个TLB无效 条目,(3)使多个TLB条目无效的可能的一组操作,(4)启用和禁用虚拟存储器的使用的可能的一组可能的空操作,以及(5)配置物理的可能的一组操作 地址大小,页面大小或其他虚拟内存系统行为,以改变物理机器解释TLB条目的方式。

    Virtual Idle Loops
    134.
    发明公开
    Virtual Idle Loops 审中-公开

    公开(公告)号:US20240103868A1

    公开(公告)日:2024-03-28

    申请号:US17953486

    申请日:2022-09-27

    CPC classification number: G06F9/3016 G06F9/30065 G06F9/45558 G06F2009/45591

    Abstract: Techniques relating to virtual idle loops are described. In an embodiment, decoder circuitry decodes a single instruction. The single instruction includes a field for an identifier of a first source operand, a field for an identifier of a second source operand, a field for an identifier of a destination operand, and a field for an opcode. Execution circuitry executes the decoded instruction according to the opcode to: write the first source operand to a memory location identified by the second source operand; compute an index into a control array based at least in part on the destination operand; and determine whether to exit to a hypervisor of a Virtual Machine (VM) based at least in part on data stored at a location in the control array, wherein the location is to be identified by the computed index. Other embodiments are also disclosed and claimed.

    Delivering interrupts to user-level applications

    公开(公告)号:US11797464B2

    公开(公告)日:2023-10-24

    申请号:US17462975

    申请日:2021-08-31

    CPC classification number: G06F13/34 Y02D10/00

    Abstract: Systems and methods for delivering interrupts to user-level applications. An example processing system comprises: a memory configured to store a plurality of user-level APIC data structures and a plurality of user-level interrupt handler address data structures corresponding to a plurality of user-level applications being executed by the processing system; and a processing core configured, responsive to receiving a notification of a user-level interrupt, to: set a pending interrupt bit flag having a position defined by an identifier of the user-level interrupt in a user-level APIC data structure associated with a user-level application that is currently being executed by the processing core, and invoke a user-level interrupt handler identified by a user-level interrupt handler address data structure associated with the user-level application, for a pending user-level interrupt having a highest priority among one or more pending user-level interrupts identified by the user-level APIC data structure.

    Shadow stack ISA extensions to support fast return and event delivery (FRED) architecture

    公开(公告)号:US11656873B2

    公开(公告)日:2023-05-23

    申请号:US17590648

    申请日:2022-02-01

    CPC classification number: G06F9/30134 G06F9/30116 G06F21/52

    Abstract: An apparatus and method for efficiently managing shadow stacks. For example, one embodiment of a processor comprises: a plurality of registers to store a plurality of shadow stack pointers (SSPs); event processing circuitry to select a first SSP of the plurality of SSPs from a first register of the plurality of registers responsive to receipt of a first event associated with a first event priority level, the first SSP usable to identify a top of a first shadow stack; verification and utilization checking circuitry to determine whether the first SSP has been previously verified, wherein if the first SSP has not been previously verified then initiating a set of atomic operations to verify the first SSP and confirm that the first SSP is not in use, the set of atomic operations using a locking operation to lock data until the set of atomic operations are complete.

    VIRTUALIZATION OF INTERPROCESSOR INTERRUPTS

    公开(公告)号:US20220365802A1

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

    申请号:US17561433

    申请日:2021-12-23

    Abstract: Embodiments of apparatuses, methods, and systems for virtualization of interprocessor interrupts are disclosed. In an embodiment, an apparatus includes a plurality of processor cores; an interrupt controller register; and logic to, in response to a write from a virtual machine to the interrupt controller register, record an interprocessor interrupt in a first data structure configured by a virtual machine monitor and send a notification of the interprocessor interrupt to at least one of the plurality of processor cores.

Patent Agency Ranking