• Suraj Jitindar Singh's avatar
    KVM: PPC: Update kvmppc_st and kvmppc_ld to use quadrants · cc6929cc
    Suraj Jitindar Singh authored
    The functions kvmppc_st and kvmppc_ld are used to access guest memory
    from the host using a guest effective address. They do so by translating
    through the process table to obtain a guest real address and then using
    kvm_read_guest or kvm_write_guest to make the access with the guest real
    address.
    
    This method of access however only works for L1 guests and will give the
    incorrect results for a nested guest.
    
    We can however use the store_to_eaddr and load_from_eaddr kvmppc_ops to
    perform the access for a nested guesti (and a L1 guest). So attempt this
    method first and fall back to the old method if this fails and we aren't
    running a nested guest.
    
    At this stage there is no fall back method to perform the access for a
    nested guest and this is left as a future improvement. For now we will
    return to the nested guest and rely on the fact that a translation
    should be faulted in before retrying the access.
    Signed-off-by: default avatarSuraj Jitindar Singh <sjitindarsingh@gmail.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    cc6929cc
powerpc.c 55.3 KB