Index: head-2006-02-13/arch/x86_64/mm/fault-xen.c =================================================================== --- head-2006-02-13.orig/arch/x86_64/mm/fault-xen.c 2006-02-13 17:20:04.000000000 +0100 +++ head-2006-02-13/arch/x86_64/mm/fault-xen.c 2006-02-13 15:16:54.000000000 +0100 @@ -152,8 +152,7 @@ void dump_pagetable(unsigned long addres pmd_t *pmd; pte_t *pte; - asm("movq %%cr3,%0" : "=r" (pgd)); - pgd = (pgd_t *)machine_to_phys((maddr_t)pgd); + pgd = (pgd_t *)read_cr3(); pgd = __va((unsigned long)pgd & PHYSICAL_PAGE_MASK); pgd += pgd_index(address); Index: head-2006-02-13/include/asm-x86_64/mach-xen/asm/system.h =================================================================== --- head-2006-02-13.orig/include/asm-x86_64/mach-xen/asm/system.h 2006-02-13 14:35:47.000000000 +0100 +++ head-2006-02-13/include/asm-x86_64/mach-xen/asm/system.h 2006-02-13 17:20:42.000000000 +0100 @@ -182,7 +182,7 @@ static inline void write_cr0(unsigned lo #define read_cr3() ({ \ unsigned long __dummy; \ asm("movq %%cr3,%0" : "=r" (__dummy)); \ - return machine_to_phys(__dummy); \ + machine_to_phys(__dummy); \ }) static inline unsigned long read_cr4(void)