All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: keescook@chromium.org, maz@kernel.org, robin.murphy@arm.com,
	broonie@kernel.org, james.morse@arm.com,
	julien.thierry.kdev@gmail.com, catalin.marinas@arm.com,
	labbott@redhat.com, will@kernel.org,
	linux-arm-kernel@lists.infradead.org, alex.popov@linux.com
Subject: Re: [PATCH 10/17] arm64: entry: consolidate EL1 return paths
Date: Fri, 10 Jan 2020 16:02:21 +0000	[thread overview]
Message-ID: <20200110160221.GF33536@lakrids.cambridge.arm.com> (raw)
In-Reply-To: <b212715d-bc23-3b9a-2cea-7b597a3bf50c@arm.com>

On Fri, Jan 10, 2020 at 09:09:03AM +0530, Anshuman Khandual wrote:
> 
> 
> On 01/09/2020 12:26 AM, Mark Rutland wrote:
> > Each of the EL1 exception handler stubs has an identical copy of the
> > kernel_exit code. While each handler needs its own kernel_entry
> > sequence, there's no need to duplicate this for each handler, and we can
> > consolidate them for better I-cache usage.
> > 
> > This patch makes the EL1 handlers all use a common kernel_exit stub
> > called ret_to_kernel, matching the ret_to_user stub used by EL0
> > handlers.
> > 
> > As with the handlers, ret_to_kenerl is aligned for better I-cache and
> 
> Small nit, s/ret_to_kenerl/ret_to_kernel
> 
> > brapnch predictor utilization, and for consistency the same alignment is
> 
> Small nit, s/brapnch/branch

I really need to improve my proofreading; thanks for the corrections!

Mark.

> > applied to ret_to_user.
> > 
> > Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> > Cc: Catalin Marinas <catalin.marinas@arm.com>
> > Cc: James Morse <james.morse@arm.com>
> > Cc: Will Deacon <will@kernel.org>
> 
> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
> 
> > ---
> >  arch/arm64/kernel/entry.S | 15 ++++++++++++---
> >  1 file changed, 12 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
> > index 35a8c56b0582..e76326feb1da 100644
> > --- a/arch/arm64/kernel/entry.S
> > +++ b/arch/arm64/kernel/entry.S
> > @@ -519,7 +519,7 @@ el1_sync:
> >  	kernel_entry 1
> >  	mov	x0, sp
> >  	bl	el1_sync_handler
> > -	kernel_exit 1
> > +	b	ret_to_kernel
> >  ENDPROC(el1_sync)
> >  
> >  	.align	6
> > @@ -527,7 +527,7 @@ el1_irq:
> >  	kernel_entry 1
> >  	mov	x0, sp
> >  	bl	el1_irq_handler
> > -	kernel_exit 1
> > +	b	ret_to_kernel
> >  ENDPROC(el1_irq)
> >  
> >  	.align	6
> > @@ -535,10 +535,18 @@ el1_error:
> >  	kernel_entry 1
> >  	mov	x0, sp
> >  	bl	el1_error_handler
> > -	kernel_exit 1
> > +	b	ret_to_kernel
> >  ENDPROC(el1_error)
> >  
> >  /*
> > + * Common EL1 exception return path
> > + */
> > +	.align 6
> > +ret_to_kernel:
> > +	kernel_exit 1
> > +ENDPROC(ret_to_kernel)
> > +
> > +/*
> >   * EL0 mode handlers.
> >   */
> >  	.align	6
> > @@ -606,6 +614,7 @@ work_pending:
> >  /*
> >   * "slow" syscall return path.
> >   */
> > +	.align 6
> >  ret_to_user:
> >  	disable_daif
> >  	gic_prio_kentry_setup tmp=x3
> > 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-01-10 16:02 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-08 18:56 [PATCH 00/17] arm64: entry deasmification and cleanup Mark Rutland
2020-01-08 18:56 ` [PATCH 01/17] arm64: entry: mark all entry code as notrace Mark Rutland
2020-01-09  5:21   ` Anshuman Khandual
2020-01-13 15:44     ` Mark Rutland
2020-01-08 18:56 ` [PATCH 02/17] arm64: entry: cleanup el0 svc handler naming Mark Rutland
2020-01-09  5:33   ` Anshuman Khandual
2020-01-08 18:56 ` [PATCH 03/17] arm64: entry: move arm64_preempt_schedule_irq to entry-common.c Mark Rutland
2020-01-09  5:36   ` Anshuman Khandual
2020-01-08 18:56 ` [PATCH 04/17] arm64: entry: move preempt logic to C Mark Rutland
2020-01-09  6:43   ` Anshuman Khandual
2020-01-09 12:22     ` Mark Rutland
2020-01-08 18:56 ` [PATCH 05/17] arm64: entry: add a call_on_stack helper Mark Rutland
2020-01-09  8:00   ` Anshuman Khandual
2020-01-14 18:24     ` Mark Rutland
2020-01-09 14:30   ` Laura Abbott
2020-01-09 14:46     ` Mark Rutland
2020-01-08 18:56 ` [PATCH 06/17] arm64: entry: convert irq entry to C Mark Rutland
2020-01-08 18:56 ` [PATCH 07/17] arm64: entry: convert error " Mark Rutland
2020-01-09  9:12   ` Anshuman Khandual
2020-01-09 12:49     ` Mark Rutland
2020-01-08 18:56 ` [PATCH 08/17] arm64: entry: Split el0_sync_compat from el0_sync Mark Rutland
2020-01-09  9:50   ` Anshuman Khandual
2020-01-08 18:56 ` [PATCH 09/17] arm64: entry: organise handler stubs consistently Mark Rutland
2020-01-09 10:01   ` Anshuman Khandual
2020-01-08 18:56 ` [PATCH 10/17] arm64: entry: consolidate EL1 return paths Mark Rutland
2020-01-10  3:39   ` Anshuman Khandual
2020-01-10 16:02     ` Mark Rutland [this message]
2020-01-08 18:56 ` [PATCH 11/17] stackleak: allow C to call stackleak_erase() Mark Rutland
2020-01-10  3:45   ` Anshuman Khandual
2020-01-10 16:07     ` Mark Rutland
2020-01-27 23:00   ` Kees Cook
2020-01-08 18:56 ` [PATCH 12/17] arm64: debug-monitors: refactor MDSCR manipulation Mark Rutland
2020-01-10  4:35   ` Anshuman Khandual
2020-01-10 16:09     ` Mark Rutland
2020-01-08 18:56 ` [PATCH 13/17] arm64: entry: move common el0 entry/return work to C Mark Rutland
2020-01-09 15:19   ` Mark Rutland
2020-01-08 18:56 ` [PATCH 14/17] arm64: entry: move NO_SYSCALL setup " Mark Rutland
2020-01-10  5:37   ` Anshuman Khandual
2020-01-08 18:56 ` [PATCH 15/17] arm64: entry: move ARM64_ERRATUM_845719 workaround " Mark Rutland
2020-01-08 18:56 ` [PATCH 16/17] arm64: entry: move ARM64_ERRATUM_1418040 " Mark Rutland
2020-01-08 18:56 ` [PATCH 17/17] arm64: entry: cleanup sp_el0 manipulation Mark Rutland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200110160221.GF33536@lakrids.cambridge.arm.com \
    --to=mark.rutland@arm.com \
    --cc=alex.popov@linux.com \
    --cc=anshuman.khandual@arm.com \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=james.morse@arm.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=keescook@chromium.org \
    --cc=labbott@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=maz@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.