From: Tony Lindgren <tony@atomide.com>
To: "Andrew F. Davis" <afd@ti.com>
Cc: Tero Kristo <t-kristo@ti.com>, Keerthy <j-keerthy@ti.com>,
Russell King <rmk+kernel@armlinux.org.uk>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot
Date: Tue, 14 Mar 2017 11:14:26 -0700 [thread overview]
Message-ID: <20170314181425.GF20572@atomide.com> (raw)
In-Reply-To: <ea09d676-29f6-7100-4c68-88920deaeb7c@ti.com>
* Andrew F. Davis <afd@ti.com> [170314 10:59]:
> On 03/14/2017 11:41 AM, Tony Lindgren wrote:
> > * Andrew F. Davis <afd@ti.com> [170314 09:04]:
> >> On 03/14/2017 10:17 AM, Tony Lindgren wrote:
> >>> And if the CPU1 start-up address is programmed to be in the currently
> >>> booting kernel's area by something else, it's almost certainly totally
> >>> broken.
> >>>
> >>
> >> I disagree, the core can be parked correctly and still have the boot-to
> >> address point to anywhere. There are two registers in play here, one
> >> sets the target jump-to address, the other lets it out of the parking
> >> loop. To know we are not parked we need to check the parking release
> >> register, the jump-to address is completely irrelevant as a check for
> >> proper parking.
> >
> > Well at this point we have CPU1 parked and configured for a wrong
> > start-up address. So the boot-to address is a valid check. I can
> > certainly add a check for CPU1 being parked too.
OK I sent out v3 version of the patch doing that. Can you please
review and test that one?
<snip>
Then onto the other related patches..
> We re-park cpu1 in bootROM in U-Boot already, in the U-Boot tree:
> arch/arm/mach-omap2/omap5/sec_entry_cpu1.S
OK good to hear.
> omap_smc_sec_cpu1() wakes up cpu1 into the function cpu1_entry(), this
> makes an SMC call to setup the core, then re-parks itself back in bootROM.
> Relevant code to run on cpu1:
>
> > #define AUX_CORE_BOOT_0 0x48281800
> > #define AUX_CORE_BOOT_1 0x48281804
> > /* DRA7xx ROM code function "startup_BootSlave". This function is where CPU1
> > * waits on WFE, polling on AUX_CORE_BOOT_x registers.
> > * This address is same for J6 and J6 Eco.
> > */
> > #define ROM_FXN_STARTUP_BOOTSLAVE 0x00038a64
> >
> > ldr r4, =AUX_CORE_BOOT_0
> > mov r5, #0x0
> > str r5, [r4]
> > ldr r4, =ROM_FXN_STARTUP_BOOTSLAVE
> > bx r4 @ Jump back to ROM
>
> We would have to do this in kernel. The issue I'm thinking we are going
> to hit is that the parking function in bootROM expects the MMU to be
> off. Although we don't really need to turn it off as long as we can
> identity map the bootROM area, the AUX_CORE_BOOT_0/1 space, and wherever
> we plan to exit the parking loop.
Would be good to hear what Russell thinks we should do here to park
CPU1.
Regards,
Tony
next prev parent reply other threads:[~2017-03-14 18:14 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 20:52 [PATCH] ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot Tony Lindgren
2017-03-13 21:28 ` Andrew F. Davis
2017-03-13 21:47 ` Tony Lindgren
2017-03-14 7:30 ` Tero Kristo
2017-03-14 15:17 ` Tony Lindgren
2017-03-14 16:02 ` Andrew F. Davis
2017-03-14 16:41 ` Tony Lindgren
2017-03-14 17:57 ` Andrew F. Davis
2017-03-14 18:14 ` Tony Lindgren [this message]
2017-03-15 17:22 ` Tony Lindgren
2017-03-16 15:29 ` Tony Lindgren
2017-03-17 9:24 ` Russell King - ARM Linux
2017-03-17 13:57 ` Tony Lindgren
2017-03-17 16:25 ` Andrew F. Davis
2017-03-22 17:57 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2017-02-13 21:50 [PATCH] ARM: omap2+: Revert omap-smp.c changes resetting cpu1 " Tony Lindgren
2017-02-14 19:36 ` Tony Lindgren
2017-02-15 18:39 ` Tony Lindgren
2017-02-15 19:12 ` Tony Lindgren
2017-02-15 22:13 ` Andrew F. Davis
2017-02-15 22:27 ` Tony Lindgren
2017-02-16 16:10 ` Tony Lindgren
2017-02-16 16:21 ` Tony Lindgren
2017-02-16 16:29 ` Andrew F. Davis
2017-02-16 16:54 ` Tony Lindgren
2017-02-16 19:07 ` Tony Lindgren
2017-02-17 15:55 ` Tony Lindgren
2017-02-17 20:27 ` Andrew F. Davis
2017-02-17 21:09 ` Tony Lindgren
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=20170314181425.GF20572@atomide.com \
--to=tony@atomide.com \
--cc=afd@ti.com \
--cc=j-keerthy@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
--cc=t-kristo@ti.com \
/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;
as well as URLs for NNTP newsgroup(s).