• Heiko Carstens's avatar
    KVM: s390: add architecture compliant guest access functions · 22938978
    Heiko Carstens authored
    The new guest memory access function write_guest() and read_guest() can be
    used to access guest memory in an architecture compliant way.
    These functions will look at the vcpu's PSW and select the correct address
    space for memory access and also perform correct address wrap around.
    In case DAT is turned on, page tables will be walked otherwise access will
    happen to real or absolute memory.
    
    Any access exception will be recognized and exception data will be stored
    in the vcpu's kvm_vcpu_arch.pgm member. Subsequently an exception can be
    injected if necessary.
    
    Missing are:
    - key protection checks
    - access register mode support
    - program event recording support
    
    This patch also adds write_guest_real(), read_guest_real(),
    write_guest_absolute() and read_guest_absolute() guest functions which can
    be used to access real and absolute storage. These functions currently do
    not perform any access checks, since there is no use case (yet?).
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Reviewed-by: default avatarThomas Huth <thuth@linux.vnet.ibm.com>
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    22938978
gaccess.c 14.7 KB