|
@@ -76,7 +76,7 @@
|
|
|
|
|
|
.macro FAKE_STACK_FRAME child_rip
|
|
.macro FAKE_STACK_FRAME child_rip
|
|
/* push in order ss, rsp, eflags, cs, rip */
|
|
/* push in order ss, rsp, eflags, cs, rip */
|
|
- xorq %rax, %rax
|
|
|
|
|
|
+ xorl %eax, %eax
|
|
pushq %rax /* ss */
|
|
pushq %rax /* ss */
|
|
CFI_ADJUST_CFA_OFFSET 8
|
|
CFI_ADJUST_CFA_OFFSET 8
|
|
pushq %rax /* rsp */
|
|
pushq %rax /* rsp */
|
|
@@ -423,7 +423,7 @@ ENTRY(stub_rt_sigreturn)
|
|
testl $3,CS(%rdi)
|
|
testl $3,CS(%rdi)
|
|
je 1f
|
|
je 1f
|
|
swapgs
|
|
swapgs
|
|
-1: addl $1,%gs:pda_irqcount # RED-PEN should check preempt count
|
|
|
|
|
|
+1: incl %gs:pda_irqcount # RED-PEN should check preempt count
|
|
movq %gs:pda_irqstackptr,%rax
|
|
movq %gs:pda_irqstackptr,%rax
|
|
cmoveq %rax,%rsp
|
|
cmoveq %rax,%rsp
|
|
pushq %rdi # save old stack
|
|
pushq %rdi # save old stack
|
|
@@ -436,7 +436,7 @@ ENTRY(common_interrupt)
|
|
ret_from_intr:
|
|
ret_from_intr:
|
|
popq %rdi
|
|
popq %rdi
|
|
cli
|
|
cli
|
|
- subl $1,%gs:pda_irqcount
|
|
|
|
|
|
+ decl %gs:pda_irqcount
|
|
#ifdef CONFIG_DEBUG_INFO
|
|
#ifdef CONFIG_DEBUG_INFO
|
|
movq RBP(%rdi),%rbp
|
|
movq RBP(%rdi),%rbp
|
|
#endif
|
|
#endif
|
|
@@ -494,7 +494,7 @@ retint_signal:
|
|
sti
|
|
sti
|
|
SAVE_REST
|
|
SAVE_REST
|
|
movq $-1,ORIG_RAX(%rsp)
|
|
movq $-1,ORIG_RAX(%rsp)
|
|
- xorq %rsi,%rsi # oldset
|
|
|
|
|
|
+ xorl %esi,%esi # oldset
|
|
movq %rsp,%rdi # &pt_regs
|
|
movq %rsp,%rdi # &pt_regs
|
|
call do_notify_resume
|
|
call do_notify_resume
|
|
RESTORE_REST
|
|
RESTORE_REST
|
|
@@ -752,7 +752,7 @@ child_rip:
|
|
movq %rsi, %rdi
|
|
movq %rsi, %rdi
|
|
call *%rax
|
|
call *%rax
|
|
# exit
|
|
# exit
|
|
- xorq %rdi, %rdi
|
|
|
|
|
|
+ xorl %edi, %edi
|
|
call do_exit
|
|
call do_exit
|
|
|
|
|
|
/*
|
|
/*
|