From: Kenn H. <ke...@us...> - 2002-12-02 00:10:27
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mm In directory sc8-pr-cvs1:/tmp/cvs-serv14542 Modified Files: page.h Log Message: Redefine MAP_NR() and virt_to_page() such that they work for _any_ S0 address, not just the "identity-mapped" addresses from PAGE_OFFSET to PAGE_OFFSET + RAM_SIZE. VM_DATA_DEFAULT_FLAGS also defined as required in 2.5.5 Index: page.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mm/page.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- page.h 20 May 2002 00:33:39 -0000 1.3 +++ page.h 2 Dec 2002 00:10:23 -0000 1.4 @@ -79,9 +79,16 @@ #define PAGE_OFFSET __PAGE_OFFSET #define __pa(x) ((unsigned long) (x) - PAGE_OFFSET) #define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET)) -#define MAP_NR(addr) (__pa(addr) >> PAGE_SHIFT) -#define virt_to_page(kaddr) (mem_map + (__pa(kaddr) >> PAGE_SHIFT)) + +/* Find this SPTE for addr and extract the PFN from that. This is safe + to use for _any_ S0 address */ +#define MAP_NR(addr) (((GET_HWSPTE_VIRT(addr))->hwpte & PAGELET_PFN_MASK) >> 3) + +#define virt_to_page(kaddr) (mem_map + MAP_NR(kaddr)) #define VALID_PAGE(page) ((page - mem_map) < max_mapnr) + +#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ + VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) #endif /* __KERNEL__ */ |