Emulation of a dynamic address translation with change record override on a machine of another architecture
AssigneeInternational Business Machines Corporation
InventorsDan F Greiner, Lisa C Heller, Damian L Osisek, Erwin Pfeffer, Timothy J Slegel, Charles F Webb
Life of this patent
Estimating the term…
Abstract
A translation table entry contains a change recording override field for controlling whether a change bit is to be set on a store or not. Each 4K byte block of main storage has an associated storage key comprising a change bit. The change recording override field controls whether change bit of the storage key associated with the desired 4K byte block of main storage is set to 1 for a store operation.
Claims15
A computer program product for emulation, by a native computer system of a native machine architecture, of a translation of a virtual address into a translated address of a desired block of main storage of another computer system of another machine architecture, the computer program product comprising:
- a non-transitory computer readable storage medium readable by said native computer system, said computer readable storage medium storing instructions for performing a method comprising:
- based on receiving, by the native computer system, a virtual address of the other machine architecture, executing, by the native computer system, program code to perform a method comprising:
- performing an address translation of a virtual address to obtain an address of a desired block of main storage, wherein the address translation is based on a translation table entry of a translation table, wherein the desired block of main storage has an associated change (C) field for indicating whether said block of main storage has been modified, the C field having a C value;
- and
- based on the obtained address, initiating, by the native computer system, a store operation to said desired block of main storage, the store operation (i) causing au associated C field to have a first C value, indicating that the block of main storage has been modified, based on a change override (CO) field of the translation table entry having a first CO value and (ii) not changing the C value of the associated C field based on the CO field of the translation table entry having a second CO value.
A system for emulation a native computer system having a native machine architecture, of a translation of a virtual address into a translated address of a desired block of main storage of another computer system of another machine architecture, the system comprising:
- a computer memory configured to store machine instructions and a hierarchy of translation tables for dynamic address translation of a virtual address into a real address or absolute address of a desired block of main storage, said real address being subject to a prefixing operation;
- and
- a processor in communication with said computer memory, said processor configured to access a hierarchy of translation tables stored in said memory, said processor configured to perform a method comprising:
- based on receiving, by the native computer system, a virtual address of the other machine architecture, executing, by the native computer system, program code to perform a method comprising:
- performing an address translation of a virtual address to obtain an address of a desired block of main storage, wherein the address translation is based on a translation table entry of a translation table, wherein the desired block of main storage has an associated change (C) field for indicating whether said block of main storage has been modified, the C field having a C value;
- and
- based on the obtained address, initiating, by the native computer system, a store operation to said desired block of main storage, the store operation (i) causing an associated C field to have a first C value, indicating that the block of main storage has been modified, based on a change override (CO) field of the translation table entry having a first CO value and (ii) not changing the C value of the associated C field based on the CO field of the translation table entry having a second CO value.
A computer implemented method for emulation, by a native computer system of a native machine architecture, of a translation of a virtual address into a translated address of a desired block of main storage of another computer system of another machine architecture, the method comprising:
- based on receiving, by the native computer system, a virtual address of the other machine architecture, executing, by the native computer system, program code to perform a method comprising:
- performing an address translation of a virtual address to obtain an address of a desired block of main storage, wherein the address translation is based on a translation table entry of a translation table, wherein the desired block of main storage has an associated change (C) field for indicating whether said block of main storage has been modified, the C field having a C value;
- and
- based on the obtained address, initiating, by the native computer system, a store operation to said desired block of main storage, the store operation (i) causing an associated C field to have a first C value, indicating that the block of main storage has been modified, based on a change override (CO) field of the translation table entry having a first CO value and (ii) not changing the C value of the associated C field based on the CO field of the translation table entry having a second CO value.
Dependencies are inferred from the claim text.