x86: push old stack address on irqstack for unwinder
Impact: Fixes dumpstack and KDB on 64 bits
This re-adds the old stack pointer to the top of the irqstack to help
with unwinding. It was removed in commit d99015b1ab
as part of the save_args out-of-line work.
Both dumpstack and KDB require this information.
Signed-off-by: Martin Hicks <mort@sgi.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
committed by
H. Peter Anvin
parent
10b888d6ce
commit
a67798cd7b
@@ -346,6 +346,7 @@ ENTRY(save_args)
|
|||||||
popq_cfi %rax /* move return address... */
|
popq_cfi %rax /* move return address... */
|
||||||
mov %gs:pda_irqstackptr,%rsp
|
mov %gs:pda_irqstackptr,%rsp
|
||||||
EMPTY_FRAME 0
|
EMPTY_FRAME 0
|
||||||
|
pushq_cfi %rbp /* backlink for unwinder */
|
||||||
pushq_cfi %rax /* ... to the new stack */
|
pushq_cfi %rax /* ... to the new stack */
|
||||||
/*
|
/*
|
||||||
* We entered an interrupt context - irqs are off:
|
* We entered an interrupt context - irqs are off:
|
||||||
|
Reference in New Issue
Block a user