Lines Matching refs:pte

45 extern void __update_cache(unsigned long address, pte_t pte);
111 # define pte_none(pte) (!(((pte).pte_high) & ~_PAGE_GLOBAL)) argument
113 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument
116 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
117 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
119 static inline void set_pte(pte_t *ptep, pte_t pte) argument
121 ptep->pte_high = pte.pte_high;
123 ptep->pte_low = pte.pte_low;
126 if (pte.pte_high & _PAGE_GLOBAL) {
128 if (pte.pte_low & _PAGE_GLOBAL) {
162 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
163 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
164 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
182 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL);
184 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
205 pte_t *ptep, pte_t pte, unsigned int nr) argument
211 if (!pte_present(pte))
214 (pte_pfn(ptep[i]) == pte_pfn(pte)))
220 __update_cache(addr, pte);
223 set_pte(ptep, pte);
227 pte = __pte(pte_val(pte) + (1UL << PFN_PTE_SHIFT));
262 static inline int pte_special(pte_t pte) argument
264 return pte.pte_low & _PAGE_SPECIAL;
267 static inline pte_t pte_mkspecial(pte_t pte) argument
269 pte.pte_low |= _PAGE_SPECIAL;
270 return pte;
273 static inline int pte_special(pte_t pte) argument
275 return pte_val(pte) & _PAGE_SPECIAL;
278 static inline pte_t pte_mkspecial(pte_t pte) argument
280 pte_val(pte) |= _PAGE_SPECIAL;
281 return pte;
291 static inline int pte_write(pte_t pte) { return pte.pte_low & _PAGE_WRITE; } argument
292 static inline int pte_dirty(pte_t pte) { return pte.pte_low & _PAGE_MODIFIED; } argument
293 static inline int pte_young(pte_t pte) { return pte.pte_low & _PAGE_ACCESSED; } argument
295 static inline pte_t pte_wrprotect(pte_t pte) argument
297 pte.pte_low &= ~_PAGE_WRITE;
299 pte.pte_low &= ~_PAGE_SILENT_WRITE;
300 pte.pte_high &= ~_PAGE_SILENT_WRITE;
301 return pte;
304 static inline pte_t pte_mkclean(pte_t pte) argument
306 pte.pte_low &= ~_PAGE_MODIFIED;
308 pte.pte_low &= ~_PAGE_SILENT_WRITE;
309 pte.pte_high &= ~_PAGE_SILENT_WRITE;
310 return pte;
313 static inline pte_t pte_mkold(pte_t pte) argument
315 pte.pte_low &= ~_PAGE_ACCESSED;
317 pte.pte_low &= ~_PAGE_SILENT_READ;
318 pte.pte_high &= ~_PAGE_SILENT_READ;
319 return pte;
322 static inline pte_t pte_mkwrite_novma(pte_t pte) argument
324 pte.pte_low |= _PAGE_WRITE;
325 if (pte.pte_low & _PAGE_MODIFIED) {
327 pte.pte_low |= _PAGE_SILENT_WRITE;
328 pte.pte_high |= _PAGE_SILENT_WRITE;
330 return pte;
333 static inline pte_t pte_mkdirty(pte_t pte) argument
335 pte.pte_low |= _PAGE_MODIFIED;
336 if (pte.pte_low & _PAGE_WRITE) {
338 pte.pte_low |= _PAGE_SILENT_WRITE;
339 pte.pte_high |= _PAGE_SILENT_WRITE;
341 return pte;
344 static inline pte_t pte_mkyoung(pte_t pte) argument
346 pte.pte_low |= _PAGE_ACCESSED;
347 if (!(pte.pte_low & _PAGE_NO_READ)) {
349 pte.pte_low |= _PAGE_SILENT_READ;
350 pte.pte_high |= _PAGE_SILENT_READ;
352 return pte;
355 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } argument
356 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_MODIFIED; } argument
357 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } argument
359 static inline pte_t pte_wrprotect(pte_t pte) argument
361 pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
362 return pte;
365 static inline pte_t pte_mkclean(pte_t pte) argument
367 pte_val(pte) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
368 return pte;
371 static inline pte_t pte_mkold(pte_t pte) argument
373 pte_val(pte) &= ~(_PAGE_ACCESSED | _PAGE_SILENT_READ);
374 return pte;
377 static inline pte_t pte_mkwrite_novma(pte_t pte) argument
379 pte_val(pte) |= _PAGE_WRITE;
380 if (pte_val(pte) & _PAGE_MODIFIED)
381 pte_val(pte) |= _PAGE_SILENT_WRITE;
382 return pte;
385 static inline pte_t pte_mkdirty(pte_t pte) argument
387 pte_val(pte) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
388 if (pte_val(pte) & _PAGE_WRITE)
389 pte_val(pte) |= _PAGE_SILENT_WRITE;
390 return pte;
393 static inline pte_t pte_mkyoung(pte_t pte) argument
395 pte_val(pte) |= _PAGE_ACCESSED;
396 if (!(pte_val(pte) & _PAGE_NO_READ))
397 pte_val(pte) |= _PAGE_SILENT_READ;
398 return pte;
404 static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; } argument
406 static inline pte_t pte_mkhuge(pte_t pte) argument
408 pte_val(pte) |= _PAGE_HUGE;
409 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;
514 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
516 pte.pte_low &= (_PAGE_MODIFIED | _PAGE_ACCESSED | _PFNX_MASK);
517 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
518 pte.pte_low |= pgprot_val(newprot) & ~_PFNX_MASK;
519 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
520 return pte;
523 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
525 pte.pte_low &= _PAGE_CHG_MASK;
526 pte.pte_high &= (_PFN_MASK | _CACHE_MASK);
527 pte.pte_low |= pgprot_val(newprot);
528 pte.pte_high |= pgprot_val(newprot) & ~(_PFN_MASK | _CACHE_MASK);
529 return pte;
532 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) argument
534 pte_val(pte) &= _PAGE_CHG_MASK;
535 pte_val(pte) |= pgprot_val(newprot) & ~_PAGE_CHG_MASK;
536 if ((pte_val(pte) & _PAGE_ACCESSED) && !(pte_val(pte) & _PAGE_NO_READ))
537 pte_val(pte) |= _PAGE_SILENT_READ;
538 return pte;
543 static inline int pte_swp_exclusive(pte_t pte) argument
545 return pte.pte_low & _PAGE_SWP_EXCLUSIVE;
548 static inline pte_t pte_swp_mkexclusive(pte_t pte) argument
550 pte.pte_low |= _PAGE_SWP_EXCLUSIVE;
551 return pte;
554 static inline pte_t pte_swp_clear_exclusive(pte_t pte) argument
556 pte.pte_low &= ~_PAGE_SWP_EXCLUSIVE;
557 return pte;
560 static inline int pte_swp_exclusive(pte_t pte) argument
562 return pte_val(pte) & _PAGE_SWP_EXCLUSIVE;
565 static inline pte_t pte_swp_mkexclusive(pte_t pte) argument
567 pte_val(pte) |= _PAGE_SWP_EXCLUSIVE;
568 return pte;
571 static inline pte_t pte_swp_clear_exclusive(pte_t pte) argument
573 pte_val(pte) &= ~_PAGE_SWP_EXCLUSIVE;
574 return pte;
579 pte_t pte);
586 pte_t pte = *ptep; local
587 __update_tlb(vma, address, pte);
603 pte_t pte = *(pte_t *)pmdp; local
605 __update_tlb(vma, address, pte);