Lines Matching refs:pte
67 extern void __update_cache(unsigned long address, pte_t pte);
131 # define pte_none(pte) (!(((pte).pte_high) & ~_PAGE_GLOBAL)) argument
133 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument
136 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
137 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
139 static inline void set_pte(pte_t *ptep, pte_t pte) argument
141 ptep->pte_high = pte.pte_high;
143 ptep->pte_low = pte.pte_low;
146 if (pte.pte_high & _PAGE_GLOBAL) {
148 if (pte.pte_low & _PAGE_GLOBAL) {
182 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
183 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
184 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
202 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL);
204 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
269 static inline int pte_special(pte_t pte) argument
271 return pte.pte_low & _PAGE_SPECIAL;
274 static inline pte_t pte_mkspecial(pte_t pte) argument
276 pte.pte_low |= _PAGE_SPECIAL;
277 return pte;
280 static inline int pte_special(pte_t pte) argument
282 return pte_val(pte) & _PAGE_SPECIAL;
285 static inline pte_t pte_mkspecial(pte_t pte) argument
287 pte_val(pte) |= _PAGE_SPECIAL;
288 return pte;
298 static inline int pte_write(pte_t pte) { return pte.pte_low & _PAGE_WRITE; } argument
299 static inline int pte_dirty(pte_t pte) { return pte.pte_low & _PAGE_MODIFIED; } argument
300 static inline int pte_young(pte_t pte) { return pte.pte_low & _PAGE_ACCESSED; } argument
302 static inline pte_t pte_wrprotect(pte_t pte) argument
304 pte.pte_low &= ~_PAGE_WRITE;
306 pte.pte_low &= ~_PAGE_SILENT_WRITE;
307 pte.pte_high &= ~_PAGE_SILENT_WRITE;
308 return pte;
311 static inline pte_t pte_mkclean(pte_t pte) argument
313 pte.pte_low &= ~_PAGE_MODIFIED;
315 pte.pte_low &= ~_PAGE_SILENT_WRITE;
316 pte.pte_high &= ~_PAGE_SILENT_WRITE;
317 return pte;
320 static inline pte_t pte_mkold(pte_t pte) argument
322 pte.pte_low &= ~_PAGE_ACCESSED;
324 pte.pte_low &= ~_PAGE_SILENT_READ;
325 pte.pte_high &= ~_PAGE_SILENT_READ;
326 return pte;
329 static inline pte_t pte_mkwrite(pte_t pte) argument
331 pte.pte_low |= _PAGE_WRITE;
332 if (pte.pte_low & _PAGE_MODIFIED) {
334 pte.pte_low |= _PAGE_SILENT_WRITE;
335 pte.pte_high |= _PAGE_SILENT_WRITE;
337 return pte;
340 static inline pte_t pte_mkdirty(pte_t pte) argument
342 pte.pte_low |= _PAGE_MODIFIED;
343 if (pte.pte_low & _PAGE_WRITE) {
345 pte.pte_low |= _PAGE_SILENT_WRITE;
346 pte.pte_high |= _PAGE_SILENT_WRITE;
348 return pte;
351 static inline pte_t pte_mkyoung(pte_t pte) argument
353 pte.pte_low |= _PAGE_ACCESSED;
354 if (!(pte.pte_low & _PAGE_NO_READ)) {
356 pte.pte_low |= _PAGE_SILENT_READ;
357 pte.pte_high |= _PAGE_SILENT_READ;
359 return pte;
362 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } argument
363 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_MODIFIED; } argument
364 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } argument
366 static inline pte_t pte_wrprotect(pte_t pte) argument
368 pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
369 return pte;
372 static inline pte_t pte_mkclean(pte_t pte) argument
374 pte_val(pte) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
375 return pte;
378 static inline pte_t pte_mkold(pte_t pte) argument
380 pte_val(pte) &= ~(_PAGE_ACCESSED | _PAGE_SILENT_READ);
381 return pte;
384 static inline pte_t pte_mkwrite(pte_t pte) argument
386 pte_val(pte) |= _PAGE_WRITE;
387 if (pte_val(pte) & _PAGE_MODIFIED)
388 pte_val(pte) |= _PAGE_SILENT_WRITE;
389 return pte;
392 static inline pte_t pte_mkdirty(pte_t pte) argument
394 pte_val(pte) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
395 if (pte_val(pte) & _PAGE_WRITE)
396 pte_val(pte) |= _PAGE_SILENT_WRITE;
397 return pte;
400 static inline pte_t pte_mkyoung(pte_t pte) argument
402 pte_val(pte) |= _PAGE_ACCESSED;
403 if (!(pte_val(pte) & _PAGE_NO_READ))
404 pte_val(pte) |= _PAGE_SILENT_READ;
405 return pte;
411 static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; } argument
413 static inline pte_t pte_mkhuge(pte_t pte) argument
415 pte_val(pte) |= _PAGE_HUGE;
416 return pte;
440 static inline bool pte_soft_dirty(pte_t pte) argument
442 return pte_val(pte) & _PAGE_SOFT_DIRTY;
446 static inline pte_t pte_mksoft_dirty(pte_t pte) argument
448 pte_val(pte) |= _PAGE_SOFT_DIRTY;
449 return pte;
453 static inline pte_t pte_clear_soft_dirty(pte_t pte) argument
455 pte_val(pte) &= ~(_PAGE_SOFT_DIRTY);
456 return pte;
525 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
527 pte.pte_low &= (_PAGE_MODIFIED | _PAGE_ACCESSED | _PFNX_MASK);
528 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
529 pte.pte_low |= pgprot_val(newprot) & ~_PFNX_MASK;
530 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
531 return pte;
534 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
536 pte.pte_low &= _PAGE_CHG_MASK;
537 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
538 pte.pte_low |= pgprot_val(newprot);
539 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
540 return pte;
543 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
545 pte_val(pte) &= _PAGE_CHG_MASK;
546 pte_val(pte) |= pgprot_val(newprot) & ~_PAGE_CHG_MASK;
547 if ((pte_val(pte) & _PAGE_ACCESSED) && !(pte_val(pte) & _PAGE_NO_READ))
548 pte_val(pte) |= _PAGE_SILENT_READ;
549 return pte;
555 pte_t pte);
560 pte_t pte = *ptep; local
561 __update_tlb(vma, address, pte);
570 pte_t pte = *(pte_t *)pmdp; local
572 __update_tlb(vma, address, pte);