Re: [PATCH v4 12/17] x86/asm/entry/64: Save all regs on interrupt entry

Borislav Petkov
2015-07-02T10:53:28Z

On Mon, Jun 29, 2015 at 12:33:44PM -0700, Andy Lutomirski wrote:
> To prepare for the big rewrite of the error and interrupt exit
> paths, we will need pt_regs completely filled in. It's already
> completely filled in when error_exit runs, so rearrange interrupt
> handling to match it. This will slow down interrupt handling very
> slightly (eight instructions), but the simplification it enables
> will be more than worth it.
>
> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> ---
> arch/x86/entry/entry_64.S | 29 +++++++++--------------------
> 1 file changed, 9 insertions(+), 20 deletions(-)
>
> diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
> index 9bc76766aa71..51d34fafe4c0 100644
> --- a/arch/x86/entry/entry_64.S
> +++ b/arch/x86/entry/entry_64.S
> @@ -502,21 +502,13 @@ END(irq_entries_start)
> /* 0(%rsp): ~(interrupt number) */
> .macro interrupt func
> cld
> - /*
> - * Since nothing in interrupt handling code touches r12...r15 members
> - * of "struct pt_regs", and since interrupts can nest, we can save
> - * four stack slots and simultaneously provide
> - * an unwind-friendly stack layout by saving "truncated" pt_regs
> - * exactly up to rbp slot, without these members.
> - */
> - ALLOC_PT_GPREGS_ON_STACK -RBP
> - SAVE_C_REGS -RBP
> - /* this goes to 0(%rsp) for unwinder, not for saving the value: */
> - SAVE_EXTRA_REGS_RBP -RBP

That macro's unused now AFAICT.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--