Linus Torvalds writes: (Summary)
and maybe we could still use this in paranoid_entry and error_entry if
we made it something like
/* if 'save_ret' is set, we pop the return point into %rsi */
.macro PUSH_AND_CLEAR_REGS save_ret=0
.if \save_ret
pushq %%rsi
movq 8(%%rsp),%rsi
movq %%rdi,8(%%rsp)
.else
pushq %rdi /* pt_regs->di */
pushq %rsi /* pt_regs->si */
.endif
pushq %rdx /* pt_regs->dx */
pushq %rcx /* pt_regs->cx */
....
↧