summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Mosberger <davidm@tiger.hpl.hp.com>2002-05-24 09:45:11 -0700
committerDavid Mosberger <davidm@tiger.hpl.hp.com>2002-05-24 09:45:11 -0700
commitca4e406ada37d4a98cabbff6ec661f6df7aed1d2 (patch)
tree43d37f1b47e6037ce98e5937d18183707a76b4bd /include
parentfea891b37acdded9245e8dd989d1184fcfda5723 (diff)
ia64: Sync up with 2.5.17 tree.
Diffstat (limited to 'include')
-rw-r--r--include/asm-ia64/page.h33
-rw-r--r--include/asm-ia64/pgalloc.h4
-rw-r--r--include/asm-ia64/pgtable.h2
-rw-r--r--include/asm-ia64/tlb.h6
4 files changed, 15 insertions, 30 deletions
diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h
index ec14e185eca3..c50cf5ec238e 100644
--- a/include/asm-ia64/page.h
+++ b/include/asm-ia64/page.h
@@ -56,39 +56,12 @@ do { \
flush_dcache_page(page); \
} while (0)
-/*
- * Note: the MAP_NR_*() macro can't use __pa() because MAP_NR_*(X) MUST
- * map to something >= max_mapnr if X is outside the identity mapped
- * kernel space.
- */
-
-/*
- * The dense variant can be used as long as the size of memory holes isn't
- * very big.
- */
-#define MAP_NR_DENSE(addr) (((unsigned long) (addr) - PAGE_OFFSET) >> PAGE_SHIFT)
-
-#define page_to_pfn(page) ((unsigned long)((page) - mem_map))
#define pfn_valid(pfn) ((pfn) < max_mapnr)
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
-
-#ifdef CONFIG_IA64_GENERIC
-# include <asm/machvec.h>
-# define virt_to_page(kaddr) (mem_map + platform_map_nr(kaddr))
-# define page_to_pfn(page) ((unsigned long) (page - mem_map))
-# define pfn_to_page(pfn) (mem_map + (pfn))
-#elif defined (CONFIG_IA64_SGI_SN1)
-# ifndef CONFIG_DISCONTIGMEM
-# define virt_to_page(kaddr) (mem_map + MAP_NR_DENSE(kaddr))
-# define page_to_pfn(page) XXX fix me
-# define pfn_to_page(pfn) XXX fix me
-# endif
-#else
-# define virt_to_page(kaddr) (mem_map + MAP_NR_DENSE(kaddr))
-# define page_to_pfn(page) ((unsigned long) (page - mem_map))
-# define pfn_to_page(pfn) (mem_map + (pfn))
-#endif
+#define page_to_pfn(page) ((unsigned long) (page - mem_map))
+#define pfn_to_page(pfn) (mem_map + (pfn))
+#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT)
typedef union ia64_va {
struct {
diff --git a/include/asm-ia64/pgalloc.h b/include/asm-ia64/pgalloc.h
index 9d0740f2e455..c8a1f77d89d0 100644
--- a/include/asm-ia64/pgalloc.h
+++ b/include/asm-ia64/pgalloc.h
@@ -106,6 +106,8 @@ pmd_free (pmd_t *pmd)
++pgtable_cache_size;
}
+#define pmd_free_tlb(tlb, pmd) pmd_free(pmd)
+
static inline void
pmd_populate (struct mm_struct *mm, pmd_t *pmd_entry, struct page *pte)
{
@@ -150,6 +152,8 @@ pte_free_kernel (pte_t *pte)
free_page((unsigned long) pte);
}
+#define pte_free_tlb(tlb, pte) tlb_remove_page((tlb), (pte))
+
extern void check_pgt_cache (void);
/*
diff --git a/include/asm-ia64/pgtable.h b/include/asm-ia64/pgtable.h
index 2c2fac5c85fd..4ff23d54e418 100644
--- a/include/asm-ia64/pgtable.h
+++ b/include/asm-ia64/pgtable.h
@@ -216,6 +216,8 @@ ia64_phys_addr_valid (unsigned long addr)
/* Extract pfn from pte. */
#define pte_pfn(_pte) ((pte_val(_pte) & _PFN_MASK) >> PAGE_SHIFT)
+#define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot))
+
#define pte_modify(_pte, newprot) \
(__pte((pte_val(_pte) & _PAGE_CHG_MASK) | pgprot_val(newprot)))
diff --git a/include/asm-ia64/tlb.h b/include/asm-ia64/tlb.h
index 69c0faa93194..3b85d222f5a2 100644
--- a/include/asm-ia64/tlb.h
+++ b/include/asm-ia64/tlb.h
@@ -1 +1,7 @@
+/* XXX fix me! */
+#define tlb_start_vma(tlb, vma) do { } while (0)
+#define tlb_end_vma(tlb, vma) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
+
#include <asm-generic/tlb.h>