]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/lguest/page_tables.c
generalize lgread_u32/lgwrite_u32.
[linux-2.6-omap-h63xx.git] / drivers / lguest / page_tables.c
index fe3c7575647bd97ce4effa2938da64a0ab068309..2a45f0691c9b23006f1aa54575b853b591aa8a57 100644 (file)
@@ -209,7 +209,7 @@ int demand_page(struct lguest *lg, unsigned long vaddr, int errcode)
        pte_t *spte;
 
        /* First step: get the top-level Guest page table entry. */
-       gpgd = __pgd(lgread_u32(lg, gpgd_addr(lg, vaddr)));
+       gpgd = lgread(lg, gpgd_addr(lg, vaddr), pgd_t);
        /* Toplevel not present?  We can't map it in. */
        if (!(pgd_flags(gpgd) & _PAGE_PRESENT))
                return 0;
@@ -235,7 +235,7 @@ int demand_page(struct lguest *lg, unsigned long vaddr, int errcode)
        /* OK, now we look at the lower level in the Guest page table: keep its
         * address, because we might update it later. */
        gpte_ptr = gpte_addr(lg, gpgd, vaddr);
-       gpte = __pte(lgread_u32(lg, gpte_ptr));
+       gpte = lgread(lg, gpte_ptr, pte_t);
 
        /* If this page isn't in the Guest page tables, we can't page it in. */
        if (!(pte_flags(gpte) & _PAGE_PRESENT))
@@ -278,7 +278,7 @@ int demand_page(struct lguest *lg, unsigned long vaddr, int errcode)
 
        /* Finally, we write the Guest PTE entry back: we've set the
         * _PAGE_ACCESSED and maybe the _PAGE_DIRTY flags. */
-       lgwrite_u32(lg, gpte_ptr, pte_val(gpte));
+       lgwrite(lg, gpte_ptr, pte_t, gpte);
 
        /* We succeeded in mapping the page! */
        return 1;
@@ -366,12 +366,12 @@ unsigned long guest_pa(struct lguest *lg, unsigned long vaddr)
        pte_t gpte;
 
        /* First step: get the top-level Guest page table entry. */
-       gpgd = __pgd(lgread_u32(lg, gpgd_addr(lg, vaddr)));
+       gpgd = lgread(lg, gpgd_addr(lg, vaddr), pgd_t);
        /* Toplevel not present?  We can't map it in. */
        if (!(pgd_flags(gpgd) & _PAGE_PRESENT))
                kill_guest(lg, "Bad address %#lx", vaddr);
 
-       gpte = __pte(lgread_u32(lg, gpte_addr(lg, gpgd, vaddr)));
+       gpte = lgread(lg, gpte_addr(lg, gpgd, vaddr), pte_t);
        if (!(pte_flags(gpte) & _PAGE_PRESENT))
                kill_guest(lg, "Bad address %#lx", vaddr);