Patent ID: 9619401
Date: 2017-04-11
CPC Classifications: G06F

Claim:
1. A virtualizing electronic computer comprising: an electronic memory holding data stored at physical addresses and adapted to store programs including at least one instance of a guest operating system, a process executing under the guest operating system, and a host operating system providing virtualization; the electronic memory adapted to store page tables having first page table entries adapted to translate a guest virtual address into a host physical address, second page table entries adapted to translate a guest virtual address into a guest physical address, and third page entries adapted to translate a guest physical address into a host physical address; at least one processor communicating with the electronic memory for execution of the programs; and a memory management system receiving memory access requests from the processor to: (1) for a request providing a guest virtual address, determine a page table entry associated with an address of the request; (2) when the determined entry is a first page table entry, use the first page table entry to translate the guest virtual address into a host physical address used for accessing the electronic memory; and (3) when the determined entry is a second page table entry, use the second page table entry to translate the guest virtual address into a guest physical address and then use a third page table entry to translate the guest physical address into a host physical address used for accessing the electronic memory; wherein the first page table entries and the second page table entries are collected in a compound page table spanning an entire range of the guest virtual addresses, and the third page table entries are collected in a nested page table spanning a range of the guest physical addresses and wherein there is a unique determined entry in the compound page table for each guest virtual address.