Lines Matching defs:pmd

199 static inline int pmd_trans_huge(pmd_t pmd)
201 return !!(pmd_val(pmd) & _PAGE_HUGE) && pmd_present(pmd);
204 static inline pmd_t pmd_mkhuge(pmd_t pmd)
206 pmd_val(pmd) = (pmd_val(pmd) & ~(_PAGE_GLOBAL)) |
207 ((pmd_val(pmd) & _PAGE_GLOBAL) << (_PAGE_HGLOBAL_SHIFT - _PAGE_GLOBAL_SHIFT));
208 pmd_val(pmd) |= _PAGE_HUGE;
210 return pmd;
214 static inline int pmd_write(pmd_t pmd)
216 return !!(pmd_val(pmd) & _PAGE_WRITE);
219 static inline pmd_t pmd_mkwrite(pmd_t pmd)
221 pmd_val(pmd) |= _PAGE_WRITE;
222 if (pmd_val(pmd) & _PAGE_MODIFIED)
223 pmd_val(pmd) |= _PAGE_DIRTY;
224 return pmd;
227 static inline pmd_t pmd_wrprotect(pmd_t pmd)
229 pmd_val(pmd) &= ~(_PAGE_WRITE | _PAGE_DIRTY);
230 return pmd;
233 static inline int pmd_dirty(pmd_t pmd)
235 return !!(pmd_val(pmd) & (_PAGE_DIRTY | _PAGE_MODIFIED));
238 static inline pmd_t pmd_mkclean(pmd_t pmd)
240 pmd_val(pmd) &= ~(_PAGE_DIRTY | _PAGE_MODIFIED);
241 return pmd;
244 static inline pmd_t pmd_mkdirty(pmd_t pmd)
246 pmd_val(pmd) |= _PAGE_MODIFIED;
247 if (pmd_val(pmd) & _PAGE_WRITE)
248 pmd_val(pmd) |= _PAGE_DIRTY;
249 return pmd;
252 static inline int pmd_young(pmd_t pmd)
254 return !!(pmd_val(pmd) & _PAGE_ACCESSED);
257 static inline pmd_t pmd_mkold(pmd_t pmd)
259 pmd_val(pmd) &= ~_PAGE_ACCESSED;
260 return pmd;
263 static inline pmd_t pmd_mkyoung(pmd_t pmd)
265 pmd_val(pmd) |= _PAGE_ACCESSED;
266 return pmd;
269 static inline unsigned long pmd_pfn(pmd_t pmd)
271 return (pmd_val(pmd) & _PFN_MASK) >> _PFN_SHIFT;
274 static inline struct page *pmd_page(pmd_t pmd)
276 if (pmd_trans_huge(pmd))
277 return pfn_to_page(pmd_pfn(pmd));
279 return pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT);
282 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
284 pmd_val(pmd) = (pmd_val(pmd) & _HPAGE_CHG_MASK) |
286 return pmd;
289 static inline pmd_t pmd_mkinvalid(pmd_t pmd)
291 pmd_val(pmd) |= _PAGE_PRESENT_INVALID;
292 pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY | _PAGE_PROTNONE);
294 return pmd;
320 static inline long pmd_protnone(pmd_t pmd)
322 return (pmd_val(pmd) & _PAGE_PROTNONE);
326 #define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0)