From: Jon Medhurst (Tixy) <tixy@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: vexpress: Remove virt and nonsec support for TC2
Date: Wed, 22 Jun 2016 15:34:36 +0100 [thread overview]
Message-ID: <1466606076.3026.30.camel@linaro.org> (raw)
When CPU's come out of reset they are in secure state supervisor mode,
so this is the state Linux kernel entry point is called in when it
brings up secondary CPU cores or the primary CPU restarts after power
management has sent it through an off/on transition.
As U-Boot starts the kernel in hypervisor mode and the kernel expects
and checks that CPUs start in the same state as initial boot this
results in a dead system. Specifically, it crashes early in boot when
the primary CPU runs the MCPM test [1] and even if power management
features are disabled it will still refuse to bring up any secondary
CPUs.
Fix this problem by removing U-Boot support for virt and nonsec
support on TC2.
[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3592d7e002438980f9ce4a399f21ec94cbf071ea
Signed-off-by: Jon Medhurst <tixy@linaro.org>
---
arch/arm/Kconfig | 2 --
board/armltd/vexpress/vexpress_common.c | 15 ---------------
2 files changed, 17 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e9d2fc9..2e48568 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -293,8 +293,6 @@ config ARCH_BCM283X
config TARGET_VEXPRESS_CA15_TC2
bool "Support vexpress_ca15_tc2"
select CPU_V7
- select CPU_V7_HAS_NONSEC
- select CPU_V7_HAS_VIRT
config TARGET_VEXPRESS_CA5X2
bool "Support vexpress_ca5x2"
diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index d3b3b31..fe5d163 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -180,18 +180,3 @@ void lowlevel_init(void)
ulong get_board_rev(void){
return readl((u32 *)SYS_ID);
}
-
-#ifdef CONFIG_ARMV7_NONSEC
-/* Setting the address at which secondary cores start from.
- * Versatile Express uses one address for all cores, so ignore corenr
- */
-void smp_set_core_boot_addr(unsigned long addr, int corenr)
-{
- /* The SYSFLAGS register on VExpress needs to be cleared first
- * by writing to the next address, since any writes to the address
- * at offset 0 will only be ORed in
- */
- writel(~0, CONFIG_SYSFLAGS_ADDR + 4);
- writel(addr, CONFIG_SYSFLAGS_ADDR);
-}
-#endif
--
2.1.4
next reply other threads:[~2016-06-22 14:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 14:34 Jon Medhurst [this message]
2016-06-22 14:53 ` [U-Boot] [PATCH] ARM: vexpress: Remove virt and nonsec support for TC2 Andre Przywara
2016-06-22 16:40 ` Jon Medhurst
2016-06-23 12:37 ` [U-Boot] [RFC PATCH] vexpress: Check TC2 firmware support before defaulting to nonsec booting Jon Medhurst
2016-06-28 16:25 ` Ryan Harkin
2016-08-14 20:05 ` [U-Boot] [U-Boot, RFC] " Tom Rini
2016-08-15 8:37 ` Jon Medhurst
2016-08-16 1:10 ` Tom Rini
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=1466606076.3026.30.camel@linaro.org \
--to=tixy@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox