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.h40
1 files changed, 0 insertions, 40 deletions
diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index 1ff9e7864168..2ac7873ad6fd 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -137,7 +137,6 @@ bool kern_addr_valid(unsigned long addr);
137#define _PAGE_SOFT_4U _AC(0x0000000000001F80,UL) /* Software bits: */ 137#define _PAGE_SOFT_4U _AC(0x0000000000001F80,UL) /* Software bits: */
138#define _PAGE_EXEC_4U _AC(0x0000000000001000,UL) /* Executable SW bit */ 138#define _PAGE_EXEC_4U _AC(0x0000000000001000,UL) /* Executable SW bit */
139#define _PAGE_MODIFIED_4U _AC(0x0000000000000800,UL) /* Modified (dirty) */ 139#define _PAGE_MODIFIED_4U _AC(0x0000000000000800,UL) /* Modified (dirty) */
140#define _PAGE_FILE_4U _AC(0x0000000000000800,UL) /* Pagecache page */
141#define _PAGE_ACCESSED_4U _AC(0x0000000000000400,UL) /* Accessed (ref'd) */ 140#define _PAGE_ACCESSED_4U _AC(0x0000000000000400,UL) /* Accessed (ref'd) */
142#define _PAGE_READ_4U _AC(0x0000000000000200,UL) /* Readable SW Bit */ 141#define _PAGE_READ_4U _AC(0x0000000000000200,UL) /* Readable SW Bit */
143#define _PAGE_WRITE_4U _AC(0x0000000000000100,UL) /* Writable SW Bit */ 142#define _PAGE_WRITE_4U _AC(0x0000000000000100,UL) /* Writable SW Bit */
@@ -167,7 +166,6 @@ bool kern_addr_valid(unsigned long addr);
167#define _PAGE_EXEC_4V _AC(0x0000000000000080,UL) /* Executable Page */ 166#define _PAGE_EXEC_4V _AC(0x0000000000000080,UL) /* Executable Page */
168#define _PAGE_W_4V _AC(0x0000000000000040,UL) /* Writable */ 167#define _PAGE_W_4V _AC(0x0000000000000040,UL) /* Writable */
169#define _PAGE_SOFT_4V _AC(0x0000000000000030,UL) /* Software bits */ 168#define _PAGE_SOFT_4V _AC(0x0000000000000030,UL) /* Software bits */
170#define _PAGE_FILE_4V _AC(0x0000000000000020,UL) /* Pagecache page */
171#define _PAGE_PRESENT_4V _AC(0x0000000000000010,UL) /* Present */ 169#define _PAGE_PRESENT_4V _AC(0x0000000000000010,UL) /* Present */
172#define _PAGE_RESV_4V _AC(0x0000000000000008,UL) /* Reserved */ 170#define _PAGE_RESV_4V _AC(0x0000000000000008,UL) /* Reserved */
173#define _PAGE_SZ16GB_4V _AC(0x0000000000000007,UL) /* 16GB Page */ 171#define _PAGE_SZ16GB_4V _AC(0x0000000000000007,UL) /* 16GB Page */
@@ -332,22 +330,6 @@ static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
332} 330}
333#endif 331#endif
334 332
335static inline pte_t pgoff_to_pte(unsigned long off)
336{
337 off <<= PAGE_SHIFT;
338
339 __asm__ __volatile__(
340 "\n661: or %0, %2, %0\n"
341 " .section .sun4v_1insn_patch, \"ax\"\n"
342 " .word 661b\n"
343 " or %0, %3, %0\n"
344 " .previous\n"
345 : "=r" (off)
346 : "0" (off), "i" (_PAGE_FILE_4U), "i" (_PAGE_FILE_4V));
347
348 return __pte(off);
349}
350
351static inline pgprot_t pgprot_noncached(pgprot_t prot) 333static inline pgprot_t pgprot_noncached(pgprot_t prot)
352{ 334{
353 unsigned long val = pgprot_val(prot); 335 unsigned long val = pgprot_val(prot);
@@ -609,22 +591,6 @@ static inline unsigned long pte_exec(pte_t pte)
609 return (pte_val(pte) & mask); 591 return (pte_val(pte) & mask);
610} 592}
611 593
612static inline unsigned long pte_file(pte_t pte)
613{
614 unsigned long val = pte_val(pte);
615
616 __asm__ __volatile__(
617 "\n661: and %0, %2, %0\n"
618 " .section .sun4v_1insn_patch, \"ax\"\n"
619 " .word 661b\n"
620 " and %0, %3, %0\n"
621 " .previous\n"
622 : "=r" (val)
623 : "0" (val), "i" (_PAGE_FILE_4U), "i" (_PAGE_FILE_4V));
624
625 return val;
626}
627
628static inline unsigned long pte_present(pte_t pte) 594static inline unsigned long pte_present(pte_t pte)
629{ 595{
630 unsigned long val = pte_val(pte); 596 unsigned long val = pte_val(pte);
@@ -971,12 +937,6 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
971#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) 937#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
972#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) 938#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
973 939
974/* File offset in PTE support. */
975unsigned long pte_file(pte_t);
976#define pte_to_pgoff(pte) (pte_val(pte) >> PAGE_SHIFT)
977pte_t pgoff_to_pte(unsigned long);
978#define PTE_FILE_MAX_BITS (64UL - PAGE_SHIFT - 1UL)
979
980int page_in_phys_avail(unsigned long paddr); 940int page_in_phys_avail(unsigned long paddr);
981 941
982/* 942/*