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

[Xen-devel] [MINIOS PATCH 3/5] x86_64: merge RESTORE_REST into RESTORE_ALL



Signed-off-by: Wei Liu <wei.liu1@xxxxxxxxxx>
---
 arch/x86/x86_64.S | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/arch/x86/x86_64.S b/arch/x86/x86_64.S
index c57ee10..8432d69 100644
--- a/arch/x86/x86_64.S
+++ b/arch/x86/x86_64.S
@@ -101,27 +101,23 @@ KERNEL_CS_MASK = 0xfc
 .endm
 
 .macro RESTORE_ALL
-       movq (%rsp),%r11
-       movq 1*8(%rsp),%r10
-       movq 2*8(%rsp),%r9
-       movq 3*8(%rsp),%r8
-       movq 4*8(%rsp),%rax
-       movq 5*8(%rsp),%rcx
-       movq 6*8(%rsp),%rdx
-       movq 7*8(%rsp),%rsi
-       movq 8*8(%rsp),%rdi
-       addq $9*8+8,%rsp
-.endm  
-
-.macro RESTORE_REST
        movq (%rsp),%r15
        movq 1*8(%rsp),%r14
        movq 2*8(%rsp),%r13
        movq 3*8(%rsp),%r12
        movq 4*8(%rsp),%rbp
        movq 5*8(%rsp),%rbx
-       addq $6*8,%rsp
-.endm
+       movq 6*8(%rsp),%r11
+       movq 7*8(%rsp),%r10
+       movq 8*8(%rsp),%r9
+       movq 9*8(%rsp),%r8
+       movq 10*8(%rsp),%rax
+       movq 11*8(%rsp),%rcx
+       movq 12*8(%rsp),%rdx
+       movq 13*8(%rsp),%rsi
+       movq 14*8(%rsp),%rdi
+       addq $15*8+8,%rsp
+.endm  
 
 .macro SAVE_REST
        subq $6*8,%rsp
@@ -219,12 +215,10 @@ error_exit:
        jnz restore_all_enable_events   #        != 0 => enable event delivery
        XEN_PUT_VCPU_INFO(%rsi)
 
-       RESTORE_REST
        RESTORE_ALL
        HYPERVISOR_IRET 0
 
 restore_all_enable_events:
-       RESTORE_REST
        RESTORE_ALL
        pushq %rax                      # save rax for it will be clobbered 
later
        RSP_OFFSET=8                    # record the stack frame layout changes
@@ -289,7 +283,6 @@ critical_region_fixup:
 
 #else
 error_exit:
-       RESTORE_REST
        RESTORE_ALL
        HYPERVISOR_IRET 0
 
-- 
2.1.4


_______________________________________________
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®.