@@ -348,10 +348,10 @@ const struct x86_emulate_ops *shadow_ini
}
/* Attempt to prefetch whole instruction. */
- sh_ctxt->insn_buf_eip = regs->eip;
+ sh_ctxt->insn_buf_eip = regs->rip;
sh_ctxt->insn_buf_bytes =
(!hvm_translate_linear_addr(
- x86_seg_cs, regs->eip, sizeof(sh_ctxt->insn_buf),
+ x86_seg_cs, regs->rip, sizeof(sh_ctxt->insn_buf),
hvm_access_insn_fetch, sh_ctxt, &addr) &&
!hvm_fetch_from_guest_linear(
sh_ctxt->insn_buf, addr, sizeof(sh_ctxt->insn_buf), 0, NULL))
@@ -374,18 +374,18 @@ void shadow_continue_emulation(struct sh
* We don't refetch the segment bases, because we don't emulate
* writes to segment registers
*/
- diff = regs->eip - sh_ctxt->insn_buf_eip;
+ diff = regs->rip - sh_ctxt->insn_buf_eip;
if ( diff > sh_ctxt->insn_buf_bytes )
{
/* Prefetch more bytes. */
sh_ctxt->insn_buf_bytes =
(!hvm_translate_linear_addr(
- x86_seg_cs, regs->eip, sizeof(sh_ctxt->insn_buf),
+ x86_seg_cs, regs->rip, sizeof(sh_ctxt->insn_buf),
hvm_access_insn_fetch, sh_ctxt, &addr) &&
!hvm_fetch_from_guest_linear(
sh_ctxt->insn_buf, addr, sizeof(sh_ctxt->insn_buf), 0, NULL))
? sizeof(sh_ctxt->insn_buf) : 0;
- sh_ctxt->insn_buf_eip = regs->eip;
+ sh_ctxt->insn_buf_eip = regs->rip;
}
}
@@ -2872,7 +2872,7 @@ static int sh_page_fault(struct vcpu *v,
#endif
SHADOW_PRINTK("%pv va=%#lx err=%#x, rip=%lx\n",
- v, va, regs->error_code, regs->eip);
+ v, va, regs->error_code, regs->rip);
perfc_incr(shadow_fault);
@@ -3357,8 +3357,7 @@ static int sh_page_fault(struct vcpu *v,
}
}
- SHADOW_PRINTK("emulate: eip=%#lx esp=%#lx\n",
- (unsigned long)regs->eip, (unsigned long)regs->esp);
+ SHADOW_PRINTK("emulate: eip=%#lx esp=%#lx\n", regs->rip, regs->rsp);
emul_ops = shadow_init_emulation(&emul_ctxt, regs);