[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 03/10] x86/shadow: use unambiguous register names



This is in preparation of eliminating the mis-naming of 64-bit fields
with 32-bit register names (eflags instead of rflags etc).

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -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;
     }
 }
 
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -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);
 



Attachment: x86-regnames-shadow.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.