[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxc: Fix xc_translate_foreign_address() to parse non-pae pagetables
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1177490958 -3600 # Node ID 867965efcbd2f178de9df80b356087f68221a94b # Parent 23d1ef48e332e8143023c4f4820552a29225db3d libxc: Fix xc_translate_foreign_address() to parse non-pae pagetables correctly. From: Chris Morrow <cmorrow@xxxxxxxxxxxxxx> Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- tools/libxc/xc_pagetab.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -r 23d1ef48e332 -r 867965efcbd2 tools/libxc/xc_pagetab.c --- a/tools/libxc/xc_pagetab.c Wed Apr 25 09:46:43 2007 +0100 +++ b/tools/libxc/xc_pagetab.c Wed Apr 25 09:49:18 2007 +0100 @@ -132,7 +132,7 @@ unsigned long xc_translate_foreign_addre if (pt_levels >= 3) pde = *(unsigned long long *)(pd + 8 * ((virt >> L2_PAGETABLE_SHIFT_PAE) & L2_PAGETABLE_MASK_PAE)); else - pde = *(unsigned long long *)(pd + 4 * ((virt >> L2_PAGETABLE_SHIFT) & L2_PAGETABLE_MASK)); + pde = *(unsigned long *)(pd + 4 * ((virt >> L2_PAGETABLE_SHIFT) & L2_PAGETABLE_MASK)); if ((pde & 1) == 0) { DPRINTF("page entry not present in PD\n"); @@ -156,9 +156,9 @@ unsigned long xc_translate_foreign_addre if (pt_levels >= 3) pte = *(unsigned long long *)(pt + 8 * ((virt >> L1_PAGETABLE_SHIFT_PAE) & L1_PAGETABLE_MASK_PAE)); else - pte = *(unsigned long long *)(pt + 4 * ((virt >> L1_PAGETABLE_SHIFT) & L1_PAGETABLE_MASK)); + pte = *(unsigned long *)(pt + 4 * ((virt >> L1_PAGETABLE_SHIFT) & L1_PAGETABLE_MASK)); - if ((pte & 0x00000001) == 0) { + if ((pte & 1) == 0) { DPRINTF("page entry not present in PT\n"); goto out_unmap_pt; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |