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...
next prev parent 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.