Lines Matching refs:pte

137 # define pte_none(pte)		(!(((pte).pte_high) & ~_PAGE_GLOBAL))  argument
139 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument
142 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
143 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
145 static inline void set_pte(pte_t *ptep, pte_t pte) argument
147 ptep->pte_high = pte.pte_high;
149 ptep->pte_low = pte.pte_low;
152 if (pte.pte_high & _PAGE_GLOBAL) {
154 if (pte.pte_low & _PAGE_GLOBAL) {
188 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
189 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
190 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
208 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL);
210 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
233 extern void __update_cache(unsigned long address, pte_t pte);
276 static inline int pte_special(pte_t pte) argument
278 return pte.pte_low & _PAGE_SPECIAL;
281 static inline pte_t pte_mkspecial(pte_t pte) argument
283 pte.pte_low |= _PAGE_SPECIAL;
284 return pte;
287 static inline int pte_special(pte_t pte) argument
289 return pte_val(pte) & _PAGE_SPECIAL;
292 static inline pte_t pte_mkspecial(pte_t pte) argument
294 pte_val(pte) |= _PAGE_SPECIAL;
295 return pte;
305 static inline int pte_write(pte_t pte) { return pte.pte_low & _PAGE_WRITE; } argument
306 static inline int pte_dirty(pte_t pte) { return pte.pte_low & _PAGE_MODIFIED; } argument
307 static inline int pte_young(pte_t pte) { return pte.pte_low & _PAGE_ACCESSED; } argument
309 static inline pte_t pte_wrprotect(pte_t pte) argument
311 pte.pte_low &= ~_PAGE_WRITE;
313 pte.pte_low &= ~_PAGE_SILENT_WRITE;
314 pte.pte_high &= ~_PAGE_SILENT_WRITE;
315 return pte;
318 static inline pte_t pte_mkclean(pte_t pte) argument
320 pte.pte_low &= ~_PAGE_MODIFIED;
322 pte.pte_low &= ~_PAGE_SILENT_WRITE;
323 pte.pte_high &= ~_PAGE_SILENT_WRITE;
324 return pte;
327 static inline pte_t pte_mkold(pte_t pte) argument
329 pte.pte_low &= ~_PAGE_ACCESSED;
331 pte.pte_low &= ~_PAGE_SILENT_READ;
332 pte.pte_high &= ~_PAGE_SILENT_READ;
333 return pte;
336 static inline pte_t pte_mkwrite(pte_t pte) argument
338 pte.pte_low |= _PAGE_WRITE;
339 if (pte.pte_low & _PAGE_MODIFIED) {
341 pte.pte_low |= _PAGE_SILENT_WRITE;
342 pte.pte_high |= _PAGE_SILENT_WRITE;
344 return pte;
347 static inline pte_t pte_mkdirty(pte_t pte) argument
349 pte.pte_low |= _PAGE_MODIFIED;
350 if (pte.pte_low & _PAGE_WRITE) {
352 pte.pte_low |= _PAGE_SILENT_WRITE;
353 pte.pte_high |= _PAGE_SILENT_WRITE;
355 return pte;
358 static inline pte_t pte_mkyoung(pte_t pte) argument
360 pte.pte_low |= _PAGE_ACCESSED;
361 if (!(pte.pte_low & _PAGE_NO_READ)) {
363 pte.pte_low |= _PAGE_SILENT_READ;
364 pte.pte_high |= _PAGE_SILENT_READ;
366 return pte;
369 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } argument
370 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_MODIFIED; } argument
371 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } argument
373 static inline pte_t pte_wrprotect(pte_t pte) argument
375 pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
376 return pte;
379 static inline pte_t pte_mkclean(pte_t pte) argument
381 pte_val(pte) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
382 return pte;
385 static inline pte_t pte_mkold(pte_t pte) argument
387 pte_val(pte) &= ~(_PAGE_ACCESSED | _PAGE_SILENT_READ);
388 return pte;
391 static inline pte_t pte_mkwrite(pte_t pte) argument
393 pte_val(pte) |= _PAGE_WRITE;
394 if (pte_val(pte) & _PAGE_MODIFIED)
395 pte_val(pte) |= _PAGE_SILENT_WRITE;
396 return pte;
399 static inline pte_t pte_mkdirty(pte_t pte) argument
401 pte_val(pte) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
402 if (pte_val(pte) & _PAGE_WRITE)
403 pte_val(pte) |= _PAGE_SILENT_WRITE;
404 return pte;
407 static inline pte_t pte_mkyoung(pte_t pte) argument
409 pte_val(pte) |= _PAGE_ACCESSED;
410 if (!(pte_val(pte) & _PAGE_NO_READ))
411 pte_val(pte) |= _PAGE_SILENT_READ;
412 return pte;
418 static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; } argument
420 static inline pte_t pte_mkhuge(pte_t pte) argument
422 pte_val(pte) |= _PAGE_HUGE;
423 return pte;
428 static inline bool pte_soft_dirty(pte_t pte) argument
430 return pte_val(pte) & _PAGE_SOFT_DIRTY;
434 static inline pte_t pte_mksoft_dirty(pte_t pte) argument
436 pte_val(pte) |= _PAGE_SOFT_DIRTY;
437 return pte;
441 static inline pte_t pte_clear_soft_dirty(pte_t pte) argument
443 pte_val(pte) &= ~(_PAGE_SOFT_DIRTY);
444 return pte;
513 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
515 pte.pte_low &= (_PAGE_MODIFIED | _PAGE_ACCESSED | _PFNX_MASK);
516 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
517 pte.pte_low |= pgprot_val(newprot) & ~_PFNX_MASK;
518 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
519 return pte;
522 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
524 pte.pte_low &= _PAGE_CHG_MASK;
525 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
526 pte.pte_low |= pgprot_val(newprot);
527 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
528 return pte;
531 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
533 pte_val(pte) &= _PAGE_CHG_MASK;
534 pte_val(pte) |= pgprot_val(newprot) & ~_PAGE_CHG_MASK;
535 if ((pte_val(pte) & _PAGE_ACCESSED) && !(pte_val(pte) & _PAGE_NO_READ))
536 pte_val(pte) |= _PAGE_SILENT_READ;
537 return pte;
543 pte_t pte);
548 pte_t pte = *ptep; local
549 __update_tlb(vma, address, pte);
558 pte_t pte = *(pte_t *)pmdp; local
560 __update_tlb(vma, address, pte);