Lines Matching refs:pte
67 extern void __update_cache(unsigned long address, pte_t pte);
132 # define pte_none(pte) (!(((pte).pte_high) & ~_PAGE_GLOBAL)) argument
134 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument
137 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
138 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
140 static inline void set_pte(pte_t *ptep, pte_t pte) argument
142 ptep->pte_high = pte.pte_high;
144 ptep->pte_low = pte.pte_low;
147 if (pte.pte_high & _PAGE_GLOBAL) {
149 if (pte.pte_low & _PAGE_GLOBAL) {
183 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
184 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
185 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
203 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL);
205 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
270 static inline int pte_special(pte_t pte) argument
272 return pte.pte_low & _PAGE_SPECIAL;
275 static inline pte_t pte_mkspecial(pte_t pte) argument
277 pte.pte_low |= _PAGE_SPECIAL;
278 return pte;
281 static inline int pte_special(pte_t pte) argument
283 return pte_val(pte) & _PAGE_SPECIAL;
286 static inline pte_t pte_mkspecial(pte_t pte) argument
288 pte_val(pte) |= _PAGE_SPECIAL;
289 return pte;
299 static inline int pte_write(pte_t pte) { return pte.pte_low & _PAGE_WRITE; } argument
300 static inline int pte_dirty(pte_t pte) { return pte.pte_low & _PAGE_MODIFIED; } argument
301 static inline int pte_young(pte_t pte) { return pte.pte_low & _PAGE_ACCESSED; } argument
303 static inline pte_t pte_wrprotect(pte_t pte) argument
305 pte.pte_low &= ~_PAGE_WRITE;
307 pte.pte_low &= ~_PAGE_SILENT_WRITE;
308 pte.pte_high &= ~_PAGE_SILENT_WRITE;
309 return pte;
312 static inline pte_t pte_mkclean(pte_t pte) argument
314 pte.pte_low &= ~_PAGE_MODIFIED;
316 pte.pte_low &= ~_PAGE_SILENT_WRITE;
317 pte.pte_high &= ~_PAGE_SILENT_WRITE;
318 return pte;
321 static inline pte_t pte_mkold(pte_t pte) argument
323 pte.pte_low &= ~_PAGE_ACCESSED;
325 pte.pte_low &= ~_PAGE_SILENT_READ;
326 pte.pte_high &= ~_PAGE_SILENT_READ;
327 return pte;
330 static inline pte_t pte_mkwrite(pte_t pte) argument
332 pte.pte_low |= _PAGE_WRITE;
333 if (pte.pte_low & _PAGE_MODIFIED) {
335 pte.pte_low |= _PAGE_SILENT_WRITE;
336 pte.pte_high |= _PAGE_SILENT_WRITE;
338 return pte;
341 static inline pte_t pte_mkdirty(pte_t pte) argument
343 pte.pte_low |= _PAGE_MODIFIED;
344 if (pte.pte_low & _PAGE_WRITE) {
346 pte.pte_low |= _PAGE_SILENT_WRITE;
347 pte.pte_high |= _PAGE_SILENT_WRITE;
349 return pte;
352 static inline pte_t pte_mkyoung(pte_t pte) argument
354 pte.pte_low |= _PAGE_ACCESSED;
355 if (!(pte.pte_low & _PAGE_NO_READ)) {
357 pte.pte_low |= _PAGE_SILENT_READ;
358 pte.pte_high |= _PAGE_SILENT_READ;
360 return pte;
363 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } argument
364 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_MODIFIED; } argument
365 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } argument
367 static inline pte_t pte_wrprotect(pte_t pte) argument
369 pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
370 return pte;
373 static inline pte_t pte_mkclean(pte_t pte) argument
375 pte_val(pte) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
376 return pte;
379 static inline pte_t pte_mkold(pte_t pte) argument
381 pte_val(pte) &= ~(_PAGE_ACCESSED | _PAGE_SILENT_READ);
382 return pte;
385 static inline pte_t pte_mkwrite(pte_t pte) argument
387 pte_val(pte) |= _PAGE_WRITE;
388 if (pte_val(pte) & _PAGE_MODIFIED)
389 pte_val(pte) |= _PAGE_SILENT_WRITE;
390 return pte;
393 static inline pte_t pte_mkdirty(pte_t pte) argument
395 pte_val(pte) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
396 if (pte_val(pte) & _PAGE_WRITE)
397 pte_val(pte) |= _PAGE_SILENT_WRITE;
398 return pte;
401 static inline pte_t pte_mkyoung(pte_t pte) argument
403 pte_val(pte) |= _PAGE_ACCESSED;
404 if (!(pte_val(pte) & _PAGE_NO_READ))
405 pte_val(pte) |= _PAGE_SILENT_READ;
406 return pte;
412 static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; } argument
414 static inline pte_t pte_mkhuge(pte_t pte) argument
416 pte_val(pte) |= _PAGE_HUGE;
417 return pte;
422 static inline bool pte_soft_dirty(pte_t pte) argument
424 return pte_val(pte) & _PAGE_SOFT_DIRTY;
428 static inline pte_t pte_mksoft_dirty(pte_t pte) argument
430 pte_val(pte) |= _PAGE_SOFT_DIRTY;
431 return pte;
435 static inline pte_t pte_clear_soft_dirty(pte_t pte) argument
437 pte_val(pte) &= ~(_PAGE_SOFT_DIRTY);
438 return pte;
507 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
509 pte.pte_low &= (_PAGE_MODIFIED | _PAGE_ACCESSED | _PFNX_MASK);
510 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
511 pte.pte_low |= pgprot_val(newprot) & ~_PFNX_MASK;
512 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
513 return pte;
516 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
518 pte.pte_low &= _PAGE_CHG_MASK;
519 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
520 pte.pte_low |= pgprot_val(newprot);
521 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
522 return pte;
525 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
527 pte_val(pte) &= _PAGE_CHG_MASK;
528 pte_val(pte) |= pgprot_val(newprot) & ~_PAGE_CHG_MASK;
529 if ((pte_val(pte) & _PAGE_ACCESSED) && !(pte_val(pte) & _PAGE_NO_READ))
530 pte_val(pte) |= _PAGE_SILENT_READ;
531 return pte;
537 pte_t pte);
542 pte_t pte = *ptep; local
543 __update_tlb(vma, address, pte);
552 pte_t pte = *(pte_t *)pmdp; local
554 __update_tlb(vma, address, pte);