]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-x86/paravirt.h
x86/paravirt: add pte_flags to just get pte flags
[linux-2.6-omap-h63xx.git] / include / asm-x86 / paravirt.h
index 0f13b945e2400323cb65dfd6f8a7cc5b035c3319..5ea37a48eecbfbc96a8bf6c5a25c6f59a20e269d 100644 (file)
@@ -239,6 +239,7 @@ struct pv_mmu_ops {
                                 unsigned long addr, pte_t *ptep);
 
        pteval_t (*pte_val)(pte_t);
+       pteval_t (*pte_flags)(pte_t);
        pte_t (*make_pte)(pteval_t pte);
 
        pgdval_t (*pgd_val)(pgd_t);
@@ -996,6 +997,20 @@ static inline pteval_t pte_val(pte_t pte)
        return ret;
 }
 
+static inline pteval_t pte_flags(pte_t pte)
+{
+       pteval_t ret;
+
+       if (sizeof(pteval_t) > sizeof(long))
+               ret = PVOP_CALL2(pteval_t, pv_mmu_ops.pte_flags,
+                                pte.pte, (u64)pte.pte >> 32);
+       else
+               ret = PVOP_CALL1(pteval_t, pv_mmu_ops.pte_flags,
+                                pte.pte);
+
+       return ret;
+}
+
 static inline pgd_t __pgd(pgdval_t val)
 {
        pgdval_t ret;