|
@@ -795,8 +795,8 @@ END(interrupt)
|
|
|
|
|
|
/* 0(%rsp): ~(interrupt number) */
|
|
/* 0(%rsp): ~(interrupt number) */
|
|
.macro interrupt func
|
|
.macro interrupt func
|
|
- subq $10*8, %rsp
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 10*8
|
|
|
|
|
|
+ subq $ORIG_RAX-ARGOFFSET+8, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-ARGOFFSET+8
|
|
call save_args
|
|
call save_args
|
|
PARTIAL_FRAME 0
|
|
PARTIAL_FRAME 0
|
|
call \func
|
|
call \func
|
|
@@ -1035,8 +1035,8 @@ ENTRY(\sym)
|
|
INTR_FRAME
|
|
INTR_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */
|
|
pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */
|
|
- subq $15*8,%rsp
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 15*8
|
|
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call error_entry
|
|
call error_entry
|
|
DEFAULT_FRAME 0
|
|
DEFAULT_FRAME 0
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
@@ -1051,9 +1051,9 @@ END(\sym)
|
|
ENTRY(\sym)
|
|
ENTRY(\sym)
|
|
INTR_FRAME
|
|
INTR_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
- pushq $-1 /* ORIG_RAX: no syscall to restart */
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 8
|
|
|
|
- subq $15*8, %rsp
|
|
|
|
|
|
+ pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call save_paranoid
|
|
call save_paranoid
|
|
TRACE_IRQS_OFF
|
|
TRACE_IRQS_OFF
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
@@ -1069,9 +1069,9 @@ END(\sym)
|
|
ENTRY(\sym)
|
|
ENTRY(\sym)
|
|
INTR_FRAME
|
|
INTR_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
- pushq $-1 /* ORIG_RAX: no syscall to restart */
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 8
|
|
|
|
- subq $15*8, %rsp
|
|
|
|
|
|
+ pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call save_paranoid
|
|
call save_paranoid
|
|
TRACE_IRQS_OFF
|
|
TRACE_IRQS_OFF
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
@@ -1088,8 +1088,8 @@ END(\sym)
|
|
ENTRY(\sym)
|
|
ENTRY(\sym)
|
|
XCPT_FRAME
|
|
XCPT_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
- subq $15*8,%rsp
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 15*8
|
|
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call error_entry
|
|
call error_entry
|
|
DEFAULT_FRAME 0
|
|
DEFAULT_FRAME 0
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
@@ -1106,8 +1106,8 @@ END(\sym)
|
|
ENTRY(\sym)
|
|
ENTRY(\sym)
|
|
XCPT_FRAME
|
|
XCPT_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
- subq $15*8,%rsp
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 15*8
|
|
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call save_paranoid
|
|
call save_paranoid
|
|
DEFAULT_FRAME 0
|
|
DEFAULT_FRAME 0
|
|
TRACE_IRQS_OFF
|
|
TRACE_IRQS_OFF
|
|
@@ -1497,8 +1497,8 @@ ENTRY(nmi)
|
|
INTR_FRAME
|
|
INTR_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
|
pushq_cfi $-1
|
|
pushq_cfi $-1
|
|
- subq $15*8, %rsp
|
|
|
|
- CFI_ADJUST_CFA_OFFSET 15*8
|
|
|
|
|
|
+ subq $ORIG_RAX-R15, %rsp
|
|
|
|
+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
|
|
call save_paranoid
|
|
call save_paranoid
|
|
DEFAULT_FRAME 0
|
|
DEFAULT_FRAME 0
|
|
/* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
|
|
/* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
|