Lines Matching refs:pmdp
528 unsigned long addr, pmd_t *pmdp);
532 unsigned long address, pmd_t *pmdp,
537 unsigned long address, pmd_t *pmdp);
884 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() argument
886 pmd_val(*pmdp) = _SEGMENT_ENTRY_INVALID; in pmd_clear()
1450 static inline void __pmdp_csp(pmd_t *pmdp) in __pmdp_csp() argument
1452 register unsigned long reg2 asm("2") = pmd_val(*pmdp); in __pmdp_csp()
1453 register unsigned long reg3 asm("3") = pmd_val(*pmdp) | in __pmdp_csp()
1455 register unsigned long reg4 asm("4") = ((unsigned long) pmdp) + 5; in __pmdp_csp()
1459 : "=m" (*pmdp) in __pmdp_csp()
1460 : "d" (reg2), "d" (reg3), "d" (reg4), "m" (*pmdp) : "cc"); in __pmdp_csp()
1463 static inline void __pmdp_idte(unsigned long address, pmd_t *pmdp) in __pmdp_idte() argument
1467 sto = (unsigned long) pmdp - pmd_index(address) * sizeof(pmd_t); in __pmdp_idte()
1470 : "=m" (*pmdp) in __pmdp_idte()
1471 : "m" (*pmdp), "a" (sto), "a" ((address & HPAGE_MASK)) in __pmdp_idte()
1475 static inline void __pmdp_idte_local(unsigned long address, pmd_t *pmdp) in __pmdp_idte_local() argument
1479 sto = (unsigned long) pmdp - pmd_index(address) * sizeof(pmd_t); in __pmdp_idte_local()
1482 : "=m" (*pmdp) in __pmdp_idte_local()
1483 : "m" (*pmdp), "a" (sto), "a" ((address & HPAGE_MASK)) in __pmdp_idte_local()
1488 unsigned long address, pmd_t *pmdp) in pmdp_flush_direct() argument
1492 if (pmd_val(*pmdp) & _SEGMENT_ENTRY_INVALID) in pmdp_flush_direct()
1495 __pmdp_csp(pmdp); in pmdp_flush_direct()
1502 __pmdp_idte_local(address, pmdp); in pmdp_flush_direct()
1504 __pmdp_idte(address, pmdp); in pmdp_flush_direct()
1509 unsigned long address, pmd_t *pmdp) in pmdp_flush_lazy() argument
1513 if (pmd_val(*pmdp) & _SEGMENT_ENTRY_INVALID) in pmdp_flush_lazy()
1518 pmd_val(*pmdp) |= _SEGMENT_ENTRY_INVALID; in pmdp_flush_lazy()
1521 __pmdp_idte(address, pmdp); in pmdp_flush_lazy()
1523 __pmdp_csp(pmdp); in pmdp_flush_lazy()
1530 extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
1534 extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
1543 pmd_t *pmdp, pmd_t entry) in set_pmd_at() argument
1545 *pmdp = entry; in set_pmd_at()
1558 unsigned long address, pmd_t *pmdp) in pmdp_test_and_clear_young() argument
1562 pmd = *pmdp; in pmdp_test_and_clear_young()
1563 pmdp_flush_direct(vma->vm_mm, address, pmdp); in pmdp_test_and_clear_young()
1564 *pmdp = pmd_mkold(pmd); in pmdp_test_and_clear_young()
1570 unsigned long address, pmd_t *pmdp) in pmdp_huge_get_and_clear() argument
1572 pmd_t pmd = *pmdp; in pmdp_huge_get_and_clear()
1574 pmdp_flush_direct(mm, address, pmdp); in pmdp_huge_get_and_clear()
1575 pmd_clear(pmdp); in pmdp_huge_get_and_clear()
1582 pmd_t *pmdp, int full) in pmdp_huge_get_and_clear_full() argument
1584 pmd_t pmd = *pmdp; in pmdp_huge_get_and_clear_full()
1587 pmdp_flush_lazy(mm, address, pmdp); in pmdp_huge_get_and_clear_full()
1588 pmd_clear(pmdp); in pmdp_huge_get_and_clear_full()
1594 unsigned long address, pmd_t *pmdp) in pmdp_huge_clear_flush() argument
1596 return pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_huge_clear_flush()
1601 unsigned long address, pmd_t *pmdp) in pmdp_invalidate() argument
1603 pmdp_flush_direct(vma->vm_mm, address, pmdp); in pmdp_invalidate()
1608 unsigned long address, pmd_t *pmdp) in pmdp_set_wrprotect() argument
1610 pmd_t pmd = *pmdp; in pmdp_set_wrprotect()
1613 pmdp_flush_direct(mm, address, pmdp); in pmdp_set_wrprotect()
1614 set_pmd_at(mm, address, pmdp, pmd_wrprotect(pmd)); in pmdp_set_wrprotect()
1620 pmd_t *pmdp) in pmdp_collapse_flush() argument
1622 return pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_collapse_flush()