|
@@ -236,13 +236,17 @@ GLOBAL(entry_SYSCALL_64_after_hwframe)
|
|
pushq %r9 /* pt_regs->r9 */
|
|
pushq %r9 /* pt_regs->r9 */
|
|
pushq %r10 /* pt_regs->r10 */
|
|
pushq %r10 /* pt_regs->r10 */
|
|
pushq %r11 /* pt_regs->r11 */
|
|
pushq %r11 /* pt_regs->r11 */
|
|
- sub $(6*8), %rsp /* pt_regs->bp, bx, r12-15 not saved */
|
|
|
|
- UNWIND_HINT_REGS extra=0
|
|
|
|
|
|
+ pushq %rbx /* pt_regs->rbx */
|
|
|
|
+ pushq %rbp /* pt_regs->rbp */
|
|
|
|
+ pushq %r12 /* pt_regs->r12 */
|
|
|
|
+ pushq %r13 /* pt_regs->r13 */
|
|
|
|
+ pushq %r14 /* pt_regs->r14 */
|
|
|
|
+ pushq %r15 /* pt_regs->r15 */
|
|
|
|
+ UNWIND_HINT_REGS
|
|
|
|
|
|
TRACE_IRQS_OFF
|
|
TRACE_IRQS_OFF
|
|
|
|
|
|
/* IRQs are off. */
|
|
/* IRQs are off. */
|
|
- SAVE_EXTRA_REGS
|
|
|
|
movq %rsp, %rdi
|
|
movq %rsp, %rdi
|
|
call do_syscall_64 /* returns with IRQs disabled */
|
|
call do_syscall_64 /* returns with IRQs disabled */
|
|
|
|
|