]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Sun-3 pte_file
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sat, 26 Jul 2003 02:16:26 +0000 (19:16 -0700)
committerJens Axboe <axboe@suse.de>
Sat, 26 Jul 2003 02:16:26 +0000 (19:16 -0700)
Sun-3: pte_file fixes for sun-3 MMUs (from Sam Creasey)

include/asm-m68k/sun3_pgtable.h

index b4f70615613e1dca90dd44bdd3e29548e6ebb0e7..aab83f5e9ab5f3395c51f044693ed467f2e6be4c 100644 (file)
@@ -38,6 +38,8 @@
 #define _PAGE_PRESENT  (SUN3_PAGE_VALID)
 #define _PAGE_ACCESSED (SUN3_PAGE_ACCESSED)
 
+#define PTE_FILE_MAX_BITS 28
+
 /* Compound page protection values. */
 //todo: work out which ones *should* have SUN3_PAGE_NOCACHE and fix...
 // is it just PAGE_KERNEL and PAGE_SHARED?
@@ -160,6 +162,7 @@ extern inline int pte_write(pte_t pte)              { return pte_val(pte) & SUN3_PAGE_WRITEA
 extern inline int pte_exec(pte_t pte)          { return 1; }
 extern inline int pte_dirty(pte_t pte)         { return pte_val(pte) & SUN3_PAGE_MODIFIED; }
 extern inline int pte_young(pte_t pte)         { return pte_val(pte) & SUN3_PAGE_ACCESSED; }
+extern inline int pte_file(pte_t pte)          { return pte_val(pte) & SUN3_PAGE_ACCESSED; }
 
 extern inline pte_t pte_wrprotect(pte_t pte)   { pte_val(pte) &= ~SUN3_PAGE_WRITEABLE; return pte; }
 extern inline pte_t pte_rdprotect(pte_t pte)   { return pte; }
@@ -195,6 +198,18 @@ extern inline pmd_t *pmd_offset (pgd_t *pgd, unsigned long address)
        return (pmd_t *) pgd;
 }
 
+static inline unsigned long pte_to_pgoff(pte_t pte)
+{
+       return pte.pte & SUN3_PAGE_PGNUM_MASK;
+}
+
+static inline pte_t pgoff_to_pte(inline unsigned off)
+{
+       pte_t pte = { off + SUN3_PAGE_ACCESSED };
+       return pte;
+}
+
+
 /* Find an entry in the third-level pagetable. */
 #define pte_index(address) ((address >> PAGE_SHIFT) & (PTRS_PER_PTE-1))
 #define pte_offset_kernel(pmd, address) ((pte_t *) __pmd_page(*pmd) + pte_index(address))