diff -uNr xen-unstable.hg/xen/arch/x86/hvm/emulate.c xen-unstable.hg-i386/xen/arch/x86/hvm/emulate.c --- xen-unstable.hg/xen/arch/x86/hvm/emulate.c 2008-08-19 18:35:51.130063654 +0100 +++ xen-unstable.hg-i386/xen/arch/x86/hvm/emulate.c 2008-08-19 18:37:20.090063654 +0100 @@ -228,7 +228,8 @@ if ( reverse && ((-addr & ~PAGE_MASK) < bytes_per_rep) ) { /* Do page-straddling first iteration forwards via recursion. */ - unsigned long _paddr, one_rep = 1; + paddr_t _paddr; + unsigned long one_rep = 1; int rc = hvmemul_linear_to_phys( addr, &_paddr, bytes_per_rep, &one_rep, pfec, hvmemul_ctxt); if ( rc != X86EMUL_OKAY )