Messages in this thread Patch in this message | | | Subject | [PATCH 17 of 31] xen: make use of pte_t union | Date | Mon, 17 Mar 2008 16:37:08 -0700 | From | Jeremy Fitzhardinge <> |
| |
pte_t always contains a "pte" field for the whole pte value, so make use of it.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> --- arch/x86/xen/mmu.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c @@ -216,12 +216,10 @@ pteval_t xen_pte_val(pte_t pte) { - pteval_t ret = 0; + pteval_t ret = pte.pte; - if (pte.pte_low) { - ret = ((pteval_t)pte.pte_high << 32) | pte.pte_low; - ret = machine_to_phys(XMADDR(ret)).paddr | 1; - } + if (ret & _PAGE_PRESENT) + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT; return ret; } @@ -229,16 +227,16 @@ pmdval_t xen_pmd_val(pmd_t pmd) { pmdval_t ret = pmd.pmd; - if (ret) - ret = machine_to_phys(XMADDR(ret)).paddr | 1; + if (ret & _PAGE_PRESENT) + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT; return ret; } pgdval_t xen_pgd_val(pgd_t pgd) { pgdval_t ret = pgd.pgd; - if (ret) - ret = machine_to_phys(XMADDR(ret)).paddr | 1; + if (ret & _PAGE_PRESENT) + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT; return ret; } @@ -254,7 +252,7 @@ pmd_t xen_make_pmd(pmdval_t pmd) { - if (pmd & 1) + if (pmd & _PAGE_PRESENT) pmd = phys_to_machine(XPADDR(pmd)).maddr; return (pmd_t){ pmd }; @@ -275,7 +273,7 @@ pteval_t xen_pte_val(pte_t pte) { - pteval_t ret = pte.pte_low; + pteval_t ret = pte.pte; if (ret & _PAGE_PRESENT) ret = machine_to_phys(XMADDR(ret)).paddr; @@ -286,8 +284,8 @@ pgdval_t xen_pgd_val(pgd_t pgd) { pteval_t ret = pgd.pgd; - if (ret) - ret = machine_to_phys(XMADDR(ret)).paddr | 1; + if (ret & _PAGE_PRESENT) + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT; return ret; }
| |