Method and system for reconstructing virtual address from physical memory
AssigneeCadence Design Systems, Inc.
InventorYoav Lurie
Life of this patent
Estimating the term…
Abstract
A method for retrieving a virtual address from a physical address accesses in a memory of a computing system, to which that virtual address was previously mapped to, may include: using a monitor to intercept transmissions to and from a memory of a computing system; using a processor: identifying in the intercepted transmissions page table address calls relating to mapping of a virtual address to a physical address; and retrieving the virtual address from the identified page table address calls.
Claims14
A method for retrieving a virtual address from a physical address in a memory of a computing system, to which that virtual address was previously mapped to, the method comprising:
- intercepting, by a monitor, transmissions to and from a memory of a computing system that is operating in at least a hosting operating system and guest operating system, and recording calls to physical memory addresses during execution of a software program;
- using a processor:
- identifying in the intercepted transmissions page table all address calls that relate to mapping one or more virtual addresses in the hosting operating system to a particular physical address;
- retrieving each of the one or more virtual addresses from the identified page table address calls based on a number of page table steps that was required in mapping of the virtual address to the particular physical address, and a translation table base register relating to the memory of the computing system, including retrieving an address that is within an address range corresponding to a virtual translation table base register that relates the virtual address in the hosting operating system to a virtual address in the guest operating system;
- and
- for each of the retrieved one or more virtual addresses mapped to the particular physical address, determining which of the retrieved one or more virtual addresses was called at a time of interest based on a chronological order of the identified page table address calls.
A system for retrieving a virtual address from a physical address in a memory of a computing system, to which that virtual address was previously mapped to, the system comprising:
- a monitor configured to intercept transmissions to and from a memory of a computing system that is operating in at least a hosting operating system and guest operating system, and record calls to physical memory addresses during execution of a software program;
- and
- a processor configured to:
- identify in the intercepted transmissions page table all address calls that relate to mapping one or more virtual addresses in the hosting operating system to a particular physical address;
- and
- retrieve each of the one or more virtual addresses from the identified page table address calls based on a number of page table steps that was required in mapping of the virtual address to the particular physical address, and a translation table base register relating to the memory of the computing system, including retrieving an address that is within an address range corresponding to a virtual translation table base register that relates the virtual address in the hosting operating system to a virtual address in the guest operating system;
- and
- for each of the retrieved one or more virtual addresses mapped to the particular physical address, determine which of the retrieved one or more virtual addresses was called at a time of interest based on a chronological order of the identified page table address calls.
A non-transitory computer readable storage medium for retrieving a virtual address from a physical address in a memory of a computing system, to which that virtual address was previously mapped to, having stored thereon instructions that when executed by a processor will cause the processor to:
- intercept transmissions to and from a memory of a computing system that is operating in at least a hosting operating system and guest operating system, and record calls to physical memory addresses during execution of a software program;
- identify in the intercepted transmissions page table all address calls that relate to mapping one or more virtual addresses in the hosting operating system to a particular physical address;
- retrieve each of the one ore more virtual addresses from the identified page table address calls based on, a number of page table steps that was required in mapping of the virtual address to the particular physical address, and a translation table base register relating to the memory of the computing system, including retrieving an address that is within an address range corresponding to a virtual translation table base register that relates the virtual address in the hosting operating system to a virtual address in the guest operating system;
- and
- for each of the retrieved one or more virtual addresses mapped to the particular physical address, determine which of the retrieved one or more virtual addresses was called at a time of interest based on a chronological order of the identified page table address calls.
Dependencies are inferred from the claim text.