• Jeremy Fitzhardinge's avatar
    xen: use mmu_update for xen_set_pte_at() · a99ac5e8
    Jeremy Fitzhardinge authored
    In principle update_va_mapping is a good match for set_pte_at, since
    it gets the address being mapped, which allows Xen to use its linear
    pagetable mapping.
    
    However that assumes that the pmd for the address is attached to the
    current pagetable, which may not be true for a given user address space
    because the kernel pmd is not shared (at least on 32-bit guests).
    Normally the kernel will automatically sync a missing part of the
    pagetable with the init_mm pagetable transparently via faults, but that
    fails when a missing address is passed to Xen.
    
    And while the linear pagetable mapping is very useful for 32-bit Xen
    (as it avoids an explicit domain mapping), 32-bit Xen is deprecated.
    64-bit Xen has all memory mapped all the time, so it makes no real
    difference.
    
    The upshot is that we should use mmu_update, since it can operate on
    non-current pagetables or detached pagetables.
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    a99ac5e8
mmu.c 61 KB