aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/pgtable_64.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/include/asm/pgtable_64.h')
-rw-r--r--arch/sparc/include/asm/pgtable_64.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index 0f9e94537eee..521b8d8c1f96 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -188,9 +188,9 @@
188 188
189#ifndef __ASSEMBLY__ 189#ifndef __ASSEMBLY__
190 190
191extern pte_t mk_pte_io(unsigned long, pgprot_t, int, unsigned long); 191pte_t mk_pte_io(unsigned long, pgprot_t, int, unsigned long);
192 192
193extern unsigned long pte_sz_bits(unsigned long size); 193unsigned long pte_sz_bits(unsigned long size);
194 194
195extern pgprot_t PAGE_KERNEL; 195extern pgprot_t PAGE_KERNEL;
196extern pgprot_t PAGE_KERNEL_LOCKED; 196extern pgprot_t PAGE_KERNEL_LOCKED;
@@ -758,8 +758,8 @@ static inline int pmd_present(pmd_t pmd)
758#define pmd_none(pmd) (!pmd_val(pmd)) 758#define pmd_none(pmd) (!pmd_val(pmd))
759 759
760#ifdef CONFIG_TRANSPARENT_HUGEPAGE 760#ifdef CONFIG_TRANSPARENT_HUGEPAGE
761extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, 761void set_pmd_at(struct mm_struct *mm, unsigned long addr,
762 pmd_t *pmdp, pmd_t pmd); 762 pmd_t *pmdp, pmd_t pmd);
763#else 763#else
764static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr, 764static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr,
765 pmd_t *pmdp, pmd_t pmd) 765 pmd_t *pmdp, pmd_t pmd)
@@ -821,8 +821,8 @@ static inline unsigned long __pmd_page(pmd_t pmd)
821#define pte_unmap(pte) do { } while (0) 821#define pte_unmap(pte) do { } while (0)
822 822
823/* Actual page table PTE updates. */ 823/* Actual page table PTE updates. */
824extern void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, 824void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr,
825 pte_t *ptep, pte_t orig, int fullmm); 825 pte_t *ptep, pte_t orig, int fullmm);
826 826
827#define __HAVE_ARCH_PMDP_GET_AND_CLEAR 827#define __HAVE_ARCH_PMDP_GET_AND_CLEAR
828static inline pmd_t pmdp_get_and_clear(struct mm_struct *mm, 828static inline pmd_t pmdp_get_and_clear(struct mm_struct *mm,
@@ -881,24 +881,24 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
881extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; 881extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
882extern pmd_t swapper_low_pmd_dir[PTRS_PER_PMD]; 882extern pmd_t swapper_low_pmd_dir[PTRS_PER_PMD];
883 883
884extern void paging_init(void); 884void paging_init(void);
885extern unsigned long find_ecache_flush_span(unsigned long size); 885unsigned long find_ecache_flush_span(unsigned long size);
886 886
887struct seq_file; 887struct seq_file;
888extern void mmu_info(struct seq_file *); 888void mmu_info(struct seq_file *);
889 889
890struct vm_area_struct; 890struct vm_area_struct;
891extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t *); 891void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t *);
892#ifdef CONFIG_TRANSPARENT_HUGEPAGE 892#ifdef CONFIG_TRANSPARENT_HUGEPAGE
893extern void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, 893void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr,
894 pmd_t *pmd); 894 pmd_t *pmd);
895 895
896#define __HAVE_ARCH_PGTABLE_DEPOSIT 896#define __HAVE_ARCH_PGTABLE_DEPOSIT
897extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 897void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
898 pgtable_t pgtable); 898 pgtable_t pgtable);
899 899
900#define __HAVE_ARCH_PGTABLE_WITHDRAW 900#define __HAVE_ARCH_PGTABLE_WITHDRAW
901extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); 901pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
902#endif 902#endif
903 903
904/* Encode and de-code a swap entry */ 904/* Encode and de-code a swap entry */
@@ -914,9 +914,9 @@ extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
914#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) 914#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
915 915
916/* File offset in PTE support. */ 916/* File offset in PTE support. */
917extern unsigned long pte_file(pte_t); 917unsigned long pte_file(pte_t);
918#define pte_to_pgoff(pte) (pte_val(pte) >> PAGE_SHIFT) 918#define pte_to_pgoff(pte) (pte_val(pte) >> PAGE_SHIFT)
919extern pte_t pgoff_to_pte(unsigned long); 919pte_t pgoff_to_pte(unsigned long);
920#define PTE_FILE_MAX_BITS (64UL - PAGE_SHIFT - 1UL) 920#define PTE_FILE_MAX_BITS (64UL - PAGE_SHIFT - 1UL)
921 921
922extern unsigned long sparc64_valid_addr_bitmap[]; 922extern unsigned long sparc64_valid_addr_bitmap[];
@@ -931,7 +931,7 @@ static inline bool kern_addr_valid(unsigned long addr)
931 return test_bit(paddr >> 22, sparc64_valid_addr_bitmap); 931 return test_bit(paddr >> 22, sparc64_valid_addr_bitmap);
932} 932}
933 933
934extern int page_in_phys_avail(unsigned long paddr); 934int page_in_phys_avail(unsigned long paddr);
935 935
936/* 936/*
937 * For sparc32&64, the pfn in io_remap_pfn_range() carries <iospace> in 937 * For sparc32&64, the pfn in io_remap_pfn_range() carries <iospace> in
@@ -941,8 +941,8 @@ extern int page_in_phys_avail(unsigned long paddr);
941#define GET_IOSPACE(pfn) (pfn >> (BITS_PER_LONG - 4)) 941#define GET_IOSPACE(pfn) (pfn >> (BITS_PER_LONG - 4))
942#define GET_PFN(pfn) (pfn & 0x0fffffffffffffffUL) 942#define GET_PFN(pfn) (pfn & 0x0fffffffffffffffUL)
943 943
944extern int remap_pfn_range(struct vm_area_struct *, unsigned long, unsigned long, 944int remap_pfn_range(struct vm_area_struct *, unsigned long, unsigned long,
945 unsigned long, pgprot_t); 945 unsigned long, pgprot_t);
946 946
947static inline int io_remap_pfn_range(struct vm_area_struct *vma, 947static inline int io_remap_pfn_range(struct vm_area_struct *vma,
948 unsigned long from, unsigned long pfn, 948 unsigned long from, unsigned long pfn,
@@ -970,20 +970,20 @@ static inline int io_remap_pfn_range(struct vm_area_struct *vma,
970/* We provide a special get_unmapped_area for framebuffer mmaps to try and use 970/* We provide a special get_unmapped_area for framebuffer mmaps to try and use
971 * the largest alignment possible such that larget PTEs can be used. 971 * the largest alignment possible such that larget PTEs can be used.
972 */ 972 */
973extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long, 973unsigned long get_fb_unmapped_area(struct file *filp, unsigned long,
974 unsigned long, unsigned long, 974 unsigned long, unsigned long,
975 unsigned long); 975 unsigned long);
976#define HAVE_ARCH_FB_UNMAPPED_AREA 976#define HAVE_ARCH_FB_UNMAPPED_AREA
977 977
978extern void pgtable_cache_init(void); 978void pgtable_cache_init(void);
979extern void sun4v_register_fault_status(void); 979void sun4v_register_fault_status(void);
980extern void sun4v_ktsb_register(void); 980void sun4v_ktsb_register(void);
981extern void __init cheetah_ecache_flush_init(void); 981void __init cheetah_ecache_flush_init(void);
982extern void sun4v_patch_tlb_handlers(void); 982void sun4v_patch_tlb_handlers(void);
983 983
984extern unsigned long cmdline_memory_size; 984extern unsigned long cmdline_memory_size;
985 985
986extern asmlinkage void do_sparc64_fault(struct pt_regs *regs); 986asmlinkage void do_sparc64_fault(struct pt_regs *regs);
987 987
988#endif /* !(__ASSEMBLY__) */ 988#endif /* !(__ASSEMBLY__) */
989 989