Method for providing scratch registers for use by a virtual-machine monitor
    1.
    发明申请
    Method for providing scratch registers for use by a virtual-machine monitor 有权
    提供暂存寄存器以供虚拟机监视器使用的方法

    公开(公告)号:US20060026389A1

    公开(公告)日:2006-02-02

    申请号:US11030530

    申请日:2005-01-05

    IPC分类号: G06F9/30

    CPC分类号: G06F9/45533 G06F9/30101

    摘要: In one embodiment of the present invention, a virtual-machine monitor detects entry and exit from guest-operating system code, storing the values of a set of high-order floating point registers in memory on entry, and restoring the values of the set of high-order floating point registers on exit. The virtual-machine monitor can then use the set of high-order floating point registers as scratch registers for emulation of guest-operating-system instructions. In alternative embodiments of the present invention, a virtual-machine monitor obtains scratch registers for any code that the virtual-machine monitor can detect entry into and exit from, and for which a set of infrequently used registers can be identified, by storing the current contents of the set of registers upon detected entry into the code and restoring the original contents of the set of registers upon exit from the code, emulating access to the set of registers in the code by memory-access operations.

    摘要翻译: 在本发明的一个实施例中,虚拟机监视器检测进入和退出客户操作系统代码,将一组高阶浮点寄存器的值存储在存储器中,并且恢复该组值 退出时有高位浮点寄存器。 然后,虚拟机监视器可以使用该组高阶浮点寄存器作为临时寄存器来仿真客户操作系统指令。 在本发明的替代实施例中,虚拟机监视器获得用于虚拟机监视器可以检测进入和退出的任何代码的暂存寄存器,并且可以通过存储当前的一些不经常使用的寄存器来识别一组不经常使用的寄存器 检测到进入代码后检测到的寄存器组的内容,以及在从代码退出时恢复寄存器组的原始内容,通过存储器访问操作模拟对代码中的寄存器组的访问。

    Method and system for recognizing instructions and instruction blocks in computer code
    2.
    发明申请
    Method and system for recognizing instructions and instruction blocks in computer code 审中-公开
    用于识别计算机代码中的指令和指令块的方法和系统

    公开(公告)号:US20060026387A1

    公开(公告)日:2006-02-02

    申请号:US11027910

    申请日:2004-12-29

    IPC分类号: G06F15/00

    CPC分类号: G06F9/45537 G06F12/1491

    摘要: Various embodiments of the present invention are directed to efficient and robust methods by which virtual-machine monitors can recognize individual instructions and blocks of instructions within guest-operating-system code. In a described embodiment of the present invention, the guest operating system recognizes the instructions by recognizing an overall form, or pattern, for the instruction as well as the values of various fields within the instruction that may change with re-compilations and/or re-linking of guest operating system code.

    摘要翻译: 本发明的各种实施例涉及有效和鲁棒的方法,通过该方法,虚拟机监视器可以识别来宾操作系统代码内的各种指令和指令块。 在本发明的描述的实施例中,客户操作系统通过识别用于指令的整体形式或模式以及指令中可能随着重新编译和/或重新改变而改变的各种领域的值来识别指令 链接客户机操作系统代码。

    Method for patching virtually aliased pages by a virtual-machine monitor
    3.
    发明申请
    Method for patching virtually aliased pages by a virtual-machine monitor 失效
    通过虚拟机监视器修补虚拟别名页面的方法

    公开(公告)号:US20060026385A1

    公开(公告)日:2006-02-02

    申请号:US10909969

    申请日:2004-07-31

    IPC分类号: G06F12/10

    摘要: Various embodiments of the present invention are directed to methods by which a virtual-machine monitor can introduce branch instructions, in order to emulate privileged and other instructions on behalf of a guest operating system, into guest-operating-system code residing on virtually aliased virtual-memory pages. In a described embodiment of the present invention, the virtual-machine monitor physically aliases each virtual alias for a particular physical memory page by allocating a physical page for the virtual alias, copying the original contents of the physical memory page to the allocated physical page, or physical alias page, and subsequently patching each physical alias page appropriate to the physical address of the physical alias page.

    摘要翻译: 本发明的各种实施例涉及一种虚拟机监视器可以引入分支指令以便将代表客户操作系统的特权和其他指令模拟成驻留在虚拟虚拟虚拟机上的客户操作系统代码中的方法 - 内存页。 在本发明的描述的实施例中,虚拟机监视器通过分配虚拟别名的物理页面将物理存储器页面的原始内容复制到所分配的物理页面来物理地别名为特定物理存储器页面的每个虚拟别名, 或物理别名页面,随后修补与物理别名页面的物理地址相适应的每个物理别名页面。

    Method and system for replacing instructions and instruction blocks in computer code
    4.
    发明申请
    Method and system for replacing instructions and instruction blocks in computer code 失效
    用于替代计算机代码中的指令和指令块的方法和系统

    公开(公告)号:US20060026577A1

    公开(公告)日:2006-02-02

    申请号:US10909966

    申请日:2004-07-31

    IPC分类号: G06F9/45

    摘要: Various embodiments of the present invention are directed to efficient methods by which virtual-machine monitors can introduce instructions into guest-operating-system code. In one embodiment of the present invention, the virtual-machine monitor builds instructions dynamically, at insertion time, using specified values for fields within the instruction. In one embodiment of the present invention, the instructions and instruction field values are stored in an instruction-block-representing data structure.

    摘要翻译: 本发明的各种实施例涉及虚拟机监视器可以将指令引入到客户操作系统代码中的有效方法。 在本发明的一个实施例中,虚拟机监视器在插入时使用指令内的字段的指定值动态地构建指令。 在本发明的一个实施例中,指令和指令字段值被存储在指令块表示数据结构中。