Lines Matching refs:pmdp
516 unsigned long addr, pmd_t *pmdp);
520 unsigned long address, pmd_t *pmdp,
525 unsigned long address, pmd_t *pmdp);
822 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() argument
824 pmd_val(*pmdp) = _SEGMENT_ENTRY_INVALID; in pmd_clear()
1383 static inline void __pmdp_csp(pmd_t *pmdp) in __pmdp_csp() argument
1385 register unsigned long reg2 asm("2") = pmd_val(*pmdp); in __pmdp_csp()
1386 register unsigned long reg3 asm("3") = pmd_val(*pmdp) | in __pmdp_csp()
1388 register unsigned long reg4 asm("4") = ((unsigned long) pmdp) + 5; in __pmdp_csp()
1392 : "=m" (*pmdp) in __pmdp_csp()
1393 : "d" (reg2), "d" (reg3), "d" (reg4), "m" (*pmdp) : "cc"); in __pmdp_csp()
1396 static inline void __pmdp_idte(unsigned long address, pmd_t *pmdp) in __pmdp_idte() argument
1400 sto = (unsigned long) pmdp - pmd_index(address) * sizeof(pmd_t); in __pmdp_idte()
1403 : "=m" (*pmdp) in __pmdp_idte()
1404 : "m" (*pmdp), "a" (sto), "a" ((address & HPAGE_MASK)) in __pmdp_idte()
1408 static inline void __pmdp_idte_local(unsigned long address, pmd_t *pmdp) in __pmdp_idte_local() argument
1412 sto = (unsigned long) pmdp - pmd_index(address) * sizeof(pmd_t); in __pmdp_idte_local()
1415 : "=m" (*pmdp) in __pmdp_idte_local()
1416 : "m" (*pmdp), "a" (sto), "a" ((address & HPAGE_MASK)) in __pmdp_idte_local()
1421 unsigned long address, pmd_t *pmdp) in pmdp_flush_direct() argument
1425 if (pmd_val(*pmdp) & _SEGMENT_ENTRY_INVALID) in pmdp_flush_direct()
1428 __pmdp_csp(pmdp); in pmdp_flush_direct()
1435 __pmdp_idte_local(address, pmdp); in pmdp_flush_direct()
1437 __pmdp_idte(address, pmdp); in pmdp_flush_direct()
1442 unsigned long address, pmd_t *pmdp) in pmdp_flush_lazy() argument
1446 if (pmd_val(*pmdp) & _SEGMENT_ENTRY_INVALID) in pmdp_flush_lazy()
1451 pmd_val(*pmdp) |= _SEGMENT_ENTRY_INVALID; in pmdp_flush_lazy()
1454 __pmdp_idte(address, pmdp); in pmdp_flush_lazy()
1456 __pmdp_csp(pmdp); in pmdp_flush_lazy()
1463 extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
1467 extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
1476 pmd_t *pmdp, pmd_t entry) in set_pmd_at() argument
1478 *pmdp = entry; in set_pmd_at()
1491 unsigned long address, pmd_t *pmdp) in pmdp_test_and_clear_young() argument
1495 pmd = *pmdp; in pmdp_test_and_clear_young()
1496 pmdp_flush_direct(vma->vm_mm, address, pmdp); in pmdp_test_and_clear_young()
1497 *pmdp = pmd_mkold(pmd); in pmdp_test_and_clear_young()
1503 unsigned long address, pmd_t *pmdp) in pmdp_get_and_clear() argument
1505 pmd_t pmd = *pmdp; in pmdp_get_and_clear()
1507 pmdp_flush_direct(mm, address, pmdp); in pmdp_get_and_clear()
1508 pmd_clear(pmdp); in pmdp_get_and_clear()
1515 pmd_t *pmdp, int full) in pmdp_get_and_clear_full() argument
1517 pmd_t pmd = *pmdp; in pmdp_get_and_clear_full()
1520 pmdp_flush_lazy(mm, address, pmdp); in pmdp_get_and_clear_full()
1521 pmd_clear(pmdp); in pmdp_get_and_clear_full()
1527 unsigned long address, pmd_t *pmdp) in pmdp_clear_flush() argument
1529 return pmdp_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_clear_flush()
1534 unsigned long address, pmd_t *pmdp) in pmdp_invalidate() argument
1536 pmdp_flush_direct(vma->vm_mm, address, pmdp); in pmdp_invalidate()
1541 unsigned long address, pmd_t *pmdp) in pmdp_set_wrprotect() argument
1543 pmd_t pmd = *pmdp; in pmdp_set_wrprotect()
1546 pmdp_flush_direct(mm, address, pmdp); in pmdp_set_wrprotect()
1547 set_pmd_at(mm, address, pmdp, pmd_wrprotect(pmd)); in pmdp_set_wrprotect()