patch-2.4.0-test6 linux/include/asm-s390/pgtable.h

Next file: linux/include/asm-s390/processor.h
Previous file: linux/include/asm-s390/page.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/include/asm-s390/pgtable.h linux/include/asm-s390/pgtable.h
@@ -32,6 +32,7 @@
 #define flush_cache_range(mm, start, end)       do { } while (0)
 #define flush_cache_page(vma, vmaddr)           do { } while (0)
 #define flush_page_to_ram(page)                 do { } while (0)
+#define flush_dcache_page(page)			do { } while (0)
 #define flush_icache_range(start, end)          do { } while (0)
 #define flush_icache_page(vma,pg)               do { } while (0)
 
@@ -40,7 +41,7 @@
  * for zero-mapped memory areas etc..
  */
 extern unsigned long empty_zero_page[1024];
-#define ZERO_PAGE(vaddr) (mem_map + MAP_NR(empty_zero_page))
+#define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page))
 #endif /* !__ASSEMBLY__ */
 
 /* Certain architectures need to do special things when PTEs
@@ -271,7 +272,6 @@
 extern inline int pte_present(pte_t pte)        { return pte_val(pte) & _PAGE_PRESENT; }
 extern inline void pte_clear(pte_t *ptep)       { pte_val(*ptep) = _PAGE_INVALID; }
 #define PTE_INIT(x) pte_clear(x)
-extern inline int pte_pagenr(pte_t pte)	        { return ((unsigned long)((pte_val(pte) >> PAGE_SHIFT))); }
 
 extern inline int pmd_none(pmd_t pmd)           { return pmd_val(pmd) & _PAGE_TABLE_INV; }
 extern inline int pmd_bad(pmd_t pmd)            { return (pmd_val(pmd) == 0); }
@@ -335,9 +335,8 @@
 extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
 { pte_val(pte) = (pte_val(pte) & PAGE_MASK) | pgprot_val(newprot); return pte; }
 
-#define page_address(page) \
-({ if (!(page)->virtual) BUG(); (page)->virtual; })
-#define pte_page(x) (mem_map+pte_pagenr(x))
+#define page_address(page)  ((page)->virtual)
+#define pte_page(x) (mem_map+(unsigned long)((pte_val(pte) >> PAGE_SHIFT)))
 
 #define pmd_page(pmd) \
 ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)