x86-64: Use symbolics instead of raw numbers in entry_64.S
... making the code a little less fragile. Also use pushq_cfi instead of raw CFI annotations in two more places, and add two missing annotations after stack pointer adjustments which got modified here anyway. Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Alexander van Heukelum <heukelum@fastmail.fm> LKML-Reference: <4C7FBACF0200007800013F6A@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
1f130a783a
Коммит
b1cccb1bb0
|
@ -795,8 +795,8 @@ END(interrupt)
|
|||
|
||||
/* 0(%rsp): ~(interrupt number) */
|
||||
.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
|
||||
PARTIAL_FRAME 0
|
||||
call \func
|
||||
|
@ -1035,8 +1035,8 @@ ENTRY(\sym)
|
|||
INTR_FRAME
|
||||
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
||||
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
|
||||
DEFAULT_FRAME 0
|
||||
movq %rsp,%rdi /* pt_regs pointer */
|
||||
|
@ -1051,9 +1051,9 @@ END(\sym)
|
|||
ENTRY(\sym)
|
||||
INTR_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
|
||||
TRACE_IRQS_OFF
|
||||
movq %rsp,%rdi /* pt_regs pointer */
|
||||
|
@ -1069,9 +1069,9 @@ END(\sym)
|
|||
ENTRY(\sym)
|
||||
INTR_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
|
||||
TRACE_IRQS_OFF
|
||||
movq %rsp,%rdi /* pt_regs pointer */
|
||||
|
@ -1088,8 +1088,8 @@ END(\sym)
|
|||
ENTRY(\sym)
|
||||
XCPT_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
|
||||
DEFAULT_FRAME 0
|
||||
movq %rsp,%rdi /* pt_regs pointer */
|
||||
|
@ -1106,8 +1106,8 @@ END(\sym)
|
|||
ENTRY(\sym)
|
||||
XCPT_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
|
||||
DEFAULT_FRAME 0
|
||||
TRACE_IRQS_OFF
|
||||
|
@ -1497,8 +1497,8 @@ ENTRY(nmi)
|
|||
INTR_FRAME
|
||||
PARAVIRT_ADJUST_EXCEPTION_FRAME
|
||||
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
|
||||
DEFAULT_FRAME 0
|
||||
/* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
|
||||
|
|
Загрузка…
Ссылка в новой задаче