All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm64: add missing gic_init_secure_percpu for non multi-entry
Date: Fri, 15 Apr 2016 09:55:48 -0600	[thread overview]
Message-ID: <57110F04.1020905@wwwdotorg.org> (raw)
In-Reply-To: <1460720491-25148-1-git-send-email-yamada.masahiro@socionext.com>

On 04/15/2016 05:41 AM, Masahiro Yamada wrote:
> Per-CPU initialization of GIC is necessary even when
> CONFIG_ARMV8_MULTIENTRY is undefined.

> diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S

> @@ -208,6 +208,8 @@ WEAK(lowlevel_init)
>   	 */
>   	ldr	x0, =GICD_BASE
>   	bl	gic_init_secure
> +	ldr	x0, =GICR_BASE
> +	bl	gic_init_secure_percpu
>   #endif
>   #else /* CONFIG_ARMV8_MULTIENTRY is set */
>   #if defined(CONFIG_GICV2) || defined(CONFIG_GICV3)

The #else branch currently there does something quite different for 
GICV2 and GICV3. The code you added above seems to be identical to that 
code's GIVC3 case and ignore GICV2. I assume that's a bug?

If so, and the fix is to make the non-multientry code do the exact same 
call to gic_init_secure_percpu that the multientry code does, I would 
suggest unifying the two branches, replacing that entire top-level 
#if/#else block with:

#if defined(CONFIG_GICV2) || defined(CONFIG_GICV3)
#ifdef CONFIG_ARMV8_MULTIENTRY
	branch_if_slave x0, 1f
#endif
	ldr	x0, =GICD_BASE
	bl	gic_init_secure
1:
#if defined(CONFIG_GICV3)
	ldr	x0, =GICR_BASE
	bl	gic_init_secure_percpu
#elif defined(CONFIG_GICV2)
	ldr	x0, =GICD_BASE
	ldr	x1, =GICC_BASE
	bl	gic_init_secure_percpu
#endif
#endif

At least, that's what I think looking at the code with basically zero 
understanding of what initialization the GIC actually needs...

  reply	other threads:[~2016-04-15 15:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-15 11:41 [U-Boot] [PATCH] arm64: add missing gic_init_secure_percpu for non multi-entry Masahiro Yamada
2016-04-15 15:55 ` Stephen Warren [this message]
2016-04-15 18:12   ` Masahiro Yamada

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=57110F04.1020905@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /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.