bitkeeper revision 1.1236.13.1 (422db1bdZ6ZohI27rSF1Yo3Q91_REw)
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Tue, 8 Mar 2005 14:07:57 +0000 (14:07 +0000)
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Tue, 8 Mar 2005 14:07:57 +0000 (14:07 +0000)
Return mfn of m2p table correctly.

linux-2.6.10-xen-sparse/drivers/xen/privcmd/privcmd.c
linux-2.6.10-xen-sparse/include/asm-xen/asm-i386/page.h

index c97fe7cf21125f19a820dc4532048e88def271b2..9c57aaf3a1aaba357dfa9799757badd862b83511 100644 (file)
@@ -177,7 +177,7 @@ static int privcmd_ioctl(struct inode *inode, struct file *file,
         unsigned long m2pv = (unsigned long)machine_to_phys_mapping;
         pgd_t *pgd = pgd_offset_k(m2pv);
         pmd_t *pmd = pmd_offset(pgd, m2pv);
-        unsigned long m2p_start_mfn = pmd_val(*pmd) >> PAGE_SHIFT;
+        unsigned long m2p_start_mfn = pmd_val_ma(*pmd) >> PAGE_SHIFT;
         ret = put_user(m2p_start_mfn, (unsigned long *)data) ? -EFAULT: 0;
     }
     break;
index 6215a5b01868288a1e4290b786776d8be17b553a..ec9fdfed0ecd0128da78c31774a7ddf4dd57d024 100644 (file)
@@ -110,6 +110,7 @@ static inline unsigned long pmd_val(pmd_t x)
        if (ret) ret = machine_to_phys(ret);
        return ret;
 }
+#define pmd_val_ma(x)   ((x).pmd)
 #define pgd_val(x)     ({ BUG(); (unsigned long)0; })
 #define pgprot_val(x)  ((x).pgprot)