Dynamic address translation for a virtual machine
AssigneeInternational Business Machines Corporation
InventorRui Yang
Life of this patent
Estimating the term…
Abstract
Method, system, and computer program product for dynamic address translation for a virtual machine are disclosed. The method includes obtaining a memory portion from a memory space, in response to a request for building a shadow dynamic address translation table, wherein the memory space is allocated for at least one guest operation system and wherein the shadow dynamic address translation table includes a mapping between at least one guest logic memory address and at least one host physical memory address. The method further includes building the shadow dynamic address translation table and storing the shadow dynamic address translation table in the memory portion.
Claims20
A computer-implemented method comprising:
- in response to a request for building a shadow dynamic address translation table, obtaining a memory portion from a memory space, wherein the memory space is allocated for at least one guest operation system, and wherein the shadow dynamic address translation table includes a mapping between at least one guest logic memory address and at least one host physical memory address;
- building the shadow dynamic address translation table, wherein building the shadow dynamic address translation table comprises:
- obtaining a guest logical memory address to be translated from the request of building the shadow dynamic address translation table;
- obtaining a guest dynamic address translation table including one or more mappings between one or more guest logical memory addresses and one or more guest physical memory addresses, from a guest operation system;
- searching the guest dynamic address translation table with the guest logical memory address to obtain a guest physical memory address;
- obtaining a host logical memory address based on the guest physical memory address;
- obtaining a host dynamic address translation table including one or more mappings between one or more host logical memory addresses and one or more host physical memory addresses, from a host operation system;
- searching the host dynamic address translation table with the host logical memory address to obtain a host physical memory address;
- and
- saving a mapping, between the guest logical memory address and the host physical memory address, to the shadow dynamic address translation table;
- and
- storing the shadow dynamic address translation table in the memory portion.
(canceled)
A computer system comprising:
- at least one processor;
- an assist controller;
- and
- a memory coupled to the at least one processor and the assist controller;
- wherein a set of computer program instructions are stored in the memory and executed by the at least one processor and the assist controller, in order to perform actions of:
- allocating a memory space for at least one guest operation system, by the at least one processor;
- in response to a request for building a shadow dynamic address translation table, obtaining a memory portion from the memory space by the assist controller, wherein the shadow dynamic address translation table includes a mapping between at least one guest logic memory address and at least one host physical memory address;
- building the shadow dynamic address translation table, by the assist controller, wherein building the shadow dynamic address translation table comprises:
- obtaining a guest logical memory address to be translated from the request of building the shadow dynamic address translation table;
- obtaining a guest dynamic address translation table including one or more mappings between one or more guest logical memory addresses and one or more guest physical memory addresses, from a guest operation system;
- searching the guest dynamic address translation table with the guest logical memory address to obtain a guest physical memory address;
- obtaining a host logical memory address based on the guest physical memory address;
- obtaining a host dynamic address translation table including one or more mappings between one or more host logical memory addresses and one or more host physical memory addresses, from a host operation system;
- searching the host dynamic address translation table with the host logical memory address to obtain a host physical memory address;
- and
- saving a mapping, between the guest logical memory address and the host physical memory address, to the shadow dynamic address translation table;
- and
- storing the shadow dynamic address translation table in the memory portion, by the assist controller.
(canceled)
A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se;
- and
- wherein the program instructions are executable by an assist controller to perform a method comprising:
- in response to a request for building a shadow dynamic address translation table, obtaining a memory portion from a memory space, wherein the memory space is allocated for at least one guest operation system, and wherein the shadow dynamic address translation table includes a mapping between at least one guest logic memory address and at least one host physical memory address;
- building the shadow dynamic address translation table, wherein building the shadow dynamic address translation table comprises:
- obtaining a guest logical memory address to be translated from the request of building the shadow dynamic address translation table;
- obtaining a guest dynamic address translation table including one or more mappings between one or more guest logical memory addresses and one or more guest physical memory addresses, from a guest operation system;
- searching the guest dynamic address translation table with the guest logical memory address to obtain a guest physical memory address;
- obtaining a host logical memory address based on the guest physical memory address;
- obtaining a host dynamic address translation table including one or more mappings between one or more host logical memory addresses and one or more host physical memory addresses, from a host operation system;
- searching the host dynamic address translation table with the host logical memory address to obtain a host physical memory address;
- and
- saving a mapping, between the guest logical memory address and the host physical memory address, to the shadow dynamic address translation table;
- and
- storing the shadow dynamic address translation table in the memory portion.
(canceled)
Dependencies are inferred from the claim text.