diff options
| author | David Mosberger <davidm@tiger.hpl.hp.com> | 2002-05-24 09:45:11 -0700 |
|---|---|---|
| committer | David Mosberger <davidm@tiger.hpl.hp.com> | 2002-05-24 09:45:11 -0700 |
| commit | ca4e406ada37d4a98cabbff6ec661f6df7aed1d2 (patch) | |
| tree | 43d37f1b47e6037ce98e5937d18183707a76b4bd /include | |
| parent | fea891b37acdded9245e8dd989d1184fcfda5723 (diff) | |
ia64: Sync up with 2.5.17 tree.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-ia64/page.h | 33 | ||||
| -rw-r--r-- | include/asm-ia64/pgalloc.h | 4 | ||||
| -rw-r--r-- | include/asm-ia64/pgtable.h | 2 | ||||
| -rw-r--r-- | include/asm-ia64/tlb.h | 6 |
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> |
