| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [Xen-devel] [PATCH 4/4] SVM: streamline entry.S code
 
 
On 08/23/2013 10:04 AM, Jan Beulich wrote:
 
          mov  UREGS_eflags(%rsp),%rax
          mov  %rax,VMCB_rflags(%rcx)
-        mov  VCPU_svm_vmcb_pa(%rbx),%rax
-
          pop  %r15
          pop  %r14
          pop  %r13
          pop  %r12
          pop  %rbp
+        mov  VCPU_svm_vmcb_pa(%rbx),%rax
          pop  %rbx
          pop  %r11
          pop  %r10
@@ -92,25 +97,26 @@ UNLIKELY_END(svm_trace)
VMRUN
  
+        GET_CURRENT(%rax)
          push %rdi
          push %rsi
          push %rdx
          push %rcx
+        mov  VCPU_svm_vmcb(%rax),%rcx
          push %rax
          push %r8
          push %r9
          push %r10
          push %r11
          push %rbx
+        mov  %rax,%rbx
 
Can you continue with using %rax as 'current' pointer below and not save it
to %rbx? %rax appears to be a temp register so perhaps you can use, say,
%rdi, for that purpose.
-boris
 
          push %rbp
          push %r12
          push %r13
          push %r14
          push %r15
-        GET_CURRENT(%rbx)
          movb $0,VCPU_svm_vmcb_in_sync(%rbx)
-        mov  VCPU_svm_vmcb(%rbx),%rcx
          mov  VMCB_rax(%rcx),%rax
          mov  %rax,UREGS_rax(%rsp)
          mov  VMCB_rip(%rcx),%rax
@@ -120,33 +126,14 @@ UNLIKELY_END(svm_trace)
          mov  VMCB_rflags(%rcx),%rax
          mov  %rax,UREGS_eflags(%rsp)
-#ifndef NDEBUG
-        mov  $0xbeef,%ax
-        mov  %ax,UREGS_error_code(%rsp)
-        mov  %ax,UREGS_entry_vector(%rsp)
-        mov  %ax,UREGS_saved_upcall_mask(%rsp)
-        mov  %ax,UREGS_cs(%rsp)
-        mov  %ax,UREGS_ds(%rsp)
-        mov  %ax,UREGS_es(%rsp)
-        mov  %ax,UREGS_fs(%rsp)
-        mov  %ax,UREGS_gs(%rsp)
-        mov  %ax,UREGS_ss(%rsp)
-#endif
-
          STGI
  .globl svm_stgi_label
  svm_stgi_label:
          mov  %rsp,%rdi
          call svm_vmexit_handler
-        jmp  svm_asm_do_resume
+        jmp  .Lsvm_do_resume
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 |