Constructing bootloader address space without guaranteed physical memory layout

    公开(公告)号:US11182303B2

    公开(公告)日:2021-11-23

    申请号:US15387332

    申请日:2016-12-21

    Applicant: VMware, Inc.

    Abstract: Examples construct a bootloader address space using a page fault exception. A bootloader executing in machine address (MA) space determines the MA at which the bootloader has been loaded into memory. The bootloader calculates a difference between an expected virtual address (VA) and the loaded MA. The bootloader defines a page table mapping the bootloader MA to an expected VA, and sets an exception handling vector to point to the expected VA. When a memory management unit (MMU) utilizing the defined page table for address translation is enabled, a page fault exception occurs. The page fault exception handling resumes execution of the bootloader at the expected VA via an exception handling vector pointing thereto.

    Hypercall implementation in a virtualized computer system

    公开(公告)号:US11169838B2

    公开(公告)日:2021-11-09

    申请号:US16744351

    申请日:2020-01-16

    Applicant: VMware, Inc.

    Abstract: An example method of interfacing with a hypervisor in a computing system is described. The computing system includes a processor having at least three hierarchical privilege levels including a third privilege level more privileged than a second privilege level, the second privilege level more privileged than a first privilege level. The method includes configuring, by the hypervisor executing at the third privilege level, the processor to trap reads to a debug communication channel (DCC) status register of the processor to the third privilege level; trapping, at the hypervisor, a read to the DCC status register by guest software executing in a virtual machine (VM) managed by the hypervisor, the guest software executing at the first or second privilege level; reading, at the hypervisor, a plurality of registers of the processor to obtain data stored by the guest software; and returning execution from the hypervisor to the guest software.

    Exposing memory-mapped IO devices to drivers by emulating PCI bus and PCI device configuration space

    公开(公告)号:US10534732B2

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

    申请号:US14754569

    申请日:2015-06-29

    Applicant: VMware, Inc.

    Abstract: Devices are emulated as PCI devices so that existing PCI drivers can be used for the devices. This is accomplished by creating a shim PCI device with a emulated PCI configuration space, accessed via a emulated PCI Extended Configuration Access Mechanism (ECAM) space which is emulated by accesses to trapped unbacked memory addresses. When system software accesses the PCI ECAM space to probe for PCI configuration data or program base address registers of the PCI ECAM space, an exception is raised and the exception is handled by a secure monitor that is executing at a higher privilege level than the system software. The secure monitor in handling the exception emulates the PCI configuration space access of the emulated PCI device corresponding to the ECAM address accessed, such that system software may discover the device and bind and appropriately configure a PCI driver to it with the right IRQ and memory base ranges.

    Method for switching address spaces via an intermediate address space

    公开(公告)号:US10185664B1

    公开(公告)日:2019-01-22

    申请号:US15639800

    申请日:2017-06-30

    Applicant: VMware, Inc.

    Abstract: A method of re-mapping a boot loader image from a first to a second address space includes: determining a difference in a virtual address of the boot loader image in the first and second address spaces; building page tables for a third address space that maps a code section within the boot loader image at first and second address ranges separated by the difference and the code section causes execution to jump from a first instruction in the first address range to a second instruction in the second address range; executing an instruction of the code section in the first address space using pages tables for the first address space; executing the first instruction and then the second instruction using the page tables for the third address space; and executing an instruction of the boot loader image in the second address space using page tables for the second address space.

    Hypervisor backdoor interface
    49.
    发明授权

    公开(公告)号:US10067784B2

    公开(公告)日:2018-09-04

    申请号:US15184455

    申请日:2016-06-16

    Applicant: VMware, Inc.

    Abstract: A method of providing a backdoor interface between software executing in a virtual machine and a hypervisor executing on a computing system that supports the virtual machine includes trapping, at the hypervisor, an exception generated in response to execution of a debug instruction on a central processing unit (CPU) by the software; identifying, by an exception handler of the hypervisor handling the exception, an equivalence between an immediate operand of the debug instruction and a predefined value; and invoking, in response to the equivalence, a backdoor service of the hypervisor using state of at least one register of the CPU as parametric input, the state being set by the software prior to executing the debug instruction.

    IMPLEMENTING PSEUDO NON-MASKING INTERRUPTS BEHAVIOR USING A PRIORITY INTERRUPT CONTROLLER
    50.
    发明申请
    IMPLEMENTING PSEUDO NON-MASKING INTERRUPTS BEHAVIOR USING A PRIORITY INTERRUPT CONTROLLER 有权
    使用优先中断控制器实现PSEUDO非屏蔽中断行为

    公开(公告)号:US20160378543A1

    公开(公告)日:2016-12-29

    申请号:US14876831

    申请日:2015-10-07

    Applicant: VMWARE, INC.

    CPC classification number: G06F9/4818 G06F13/26

    Abstract: A method is provided for handling interrupts in a processor, the interrupts including regular interrupts having a range of priorities and a pseudo non-maskable interrupt (PNMI) that is of a higher priority than any of the regular interrupts. The method includes the steps of obtaining an interrupt vector corresponding to a received interrupt, and if the received interrupt is a regular interrupt, enabling interrupts in the processor so that a PNMI can be received while handling the regular interrupt, executing a regular interrupt handler using the interrupt vector, and disabling interrupts in the processor. On the other hand, if the received interrupt is a PNMI, a PNMI interrupt handler is executed using the interrupt vector as an input thereto.

    Abstract translation: 提供了一种用于处理处理器中断的方法,所述中断包括具有优先级范围的规则中断和比任何常规中断更高优先级的伪不可屏蔽中断(PNMI)。 该方法包括获得与接收到的中断相对应的中断向量的步骤,并且如果接收到的中断是常规中断,则允许处理器中的中断,使得在处理常规中断时可以接收PNMI,执行常规中断处理程序使用 中断向量和禁用处理器中断。 另一方面,如果接收到的中断是PNMI,则使用中断向量作为其输入来执行PNMI中断处理程序。

Patent Agency Ranking