• Paul Mackerras's avatar
    KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler · cd758a9b
    Paul Mackerras authored
    This makes the same changes in the page fault handler for HPT guests
    that commits 31c8b0d0 ("KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot()
    in page fault handler", 2018-03-01), 71d29f43 ("KVM: PPC: Book3S HV:
    Don't use compound_order to determine host mapping size", 2018-09-11)
    and 6579804c ("KVM: PPC: Book3S HV: Avoid crash from THP collapse
    during radix page fault", 2018-10-04) made for the page fault handler
    for radix guests.
    
    In summary, where we used to call get_user_pages_fast() and then do
    special handling for VM_PFNMAP vmas, we now call __get_user_pages_fast()
    and then __gfn_to_pfn_memslot() if that fails, followed by reading the
    Linux PTE to get the host PFN, host page size and mapping attributes.
    
    This also brings in the change from SetPageDirty() to set_page_dirty_lock()
    which was done for the radix page fault handler in commit c3856aeb
    ("KVM: PPC: Book3S HV: Fix handling of large pages in radix page fault
    handler", 2018-02-23).
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    cd758a9b
book3s_64_mmu_hv.c 52.9 KB