• Jeremy Fitzhardinge's avatar
    [PATCH] i386: PARAVIRT: add kmap_atomic_pte for mapping highpte pages · ce6234b5
    Jeremy Fitzhardinge authored
    Xen and VMI both have special requirements when mapping a highmem pte
    page into the kernel address space.  These can be dealt with by adding
    a new kmap_atomic_pte() function for mapping highptes, and hooking it
    into the paravirt_ops infrastructure.
    
    Xen specifically wants to map the pte page RO, so this patch exposes a
    helper function, kmap_atomic_prot, which maps the page with the
    specified page protections.
    
    This also adds a kmap_flush_unused() function to clear out the cached
    kmap mappings.  Xen needs this to clear out any potential stray RW
    mappings of pages which will become part of a pagetable.
    
    [ Zach - vmi.c will need some attention after this patch.  It wasn't
      immediately obvious to me what needs to be done. ]
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Cc: Zachary Amsden <zach@vmware.com>
    ce6234b5
highmem.h 3.15 KB