From: Tony Lindgren <tony@atomide.com> To: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Cc: Matthijs van Duin <matthijsvanduin@gmail.com>, Sebastian Reichel <sre@kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>, Pavel Machek <pavel@ucw.cz> Subject: Re: ARM errata 430973 on multi platform kernels Date: Mon, 6 Apr 2015 10:42:45 -0700 [thread overview] Message-ID: <20150406174245.GJ18048@atomide.com> (raw) In-Reply-To: <5522BEEF.2000405@gmail.com> * Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> [150406 10:15]: > On 6.04.2015 18:40, Tony Lindgren wrote: > > > >Oops sorry, wrong numbers for errata above.. s/458693/430973/, here's > >a better version: > > > >1. For cortex-a8 revisions affected by 430973, we can do a custom > > cpu_v7_switch_mm function that always does flush BTAC/BTB. > > > > Why custom function, if IBE bit is zero, BTB invalidate instruction is a > NOP. Do you think that "mcr p15, 0, r2, c7, c5, 6" executed as a NOP will > put so much overhead, that it deserves a custom function? Hmm but it still seems to do something also on cortex-a8 r3p2 that is supposedly not affected by 430973.. Based on my tests so far, at least armhf running cpuburn-a8 in the background and doing apt-get update segfaults constantly without flush BTAC/BTB. This seems to be the case no matter how the aux ctrl reg bits are set.. This should be reproducable on any pandboard xm BTW. > >2. For HS cortex-a8 processors other than n900 affected by 430973, > > we need to implement functions similar to rx51_secure_update_aux_cr, > > the bootrom on n900 is different from TI HS omaps so the SMC call > > numbering may be different. > > > >3. For later cortex-a8 processors not affected by 430973, we need > > to clear IBE bit to avoid erratum 687067. > > > > Maybe it should be implemented something like: > > 1. if Cortex-A8, always execute invalidate BTB instruction in > cpu_v7_switch_mm This part still seems to need more investigating for why it's still needed also r3p2 as I describe above. Otherwise we may be hiding some other bug. > 2. For Cortex-A8 revisions affected by 430973, set IBE bit to 1, set it > to 0 for all others. That should happen as soon as possible, > otherwise kernel may crash on affected revisions if thumb- > compiled. Yes this makes sense. Regards, Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren) To: linux-arm-kernel@lists.infradead.org Subject: ARM errata 430973 on multi platform kernels Date: Mon, 6 Apr 2015 10:42:45 -0700 [thread overview] Message-ID: <20150406174245.GJ18048@atomide.com> (raw) In-Reply-To: <5522BEEF.2000405@gmail.com> * Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> [150406 10:15]: > On 6.04.2015 18:40, Tony Lindgren wrote: > > > >Oops sorry, wrong numbers for errata above.. s/458693/430973/, here's > >a better version: > > > >1. For cortex-a8 revisions affected by 430973, we can do a custom > > cpu_v7_switch_mm function that always does flush BTAC/BTB. > > > > Why custom function, if IBE bit is zero, BTB invalidate instruction is a > NOP. Do you think that "mcr p15, 0, r2, c7, c5, 6" executed as a NOP will > put so much overhead, that it deserves a custom function? Hmm but it still seems to do something also on cortex-a8 r3p2 that is supposedly not affected by 430973.. Based on my tests so far, at least armhf running cpuburn-a8 in the background and doing apt-get update segfaults constantly without flush BTAC/BTB. This seems to be the case no matter how the aux ctrl reg bits are set.. This should be reproducable on any pandboard xm BTW. > >2. For HS cortex-a8 processors other than n900 affected by 430973, > > we need to implement functions similar to rx51_secure_update_aux_cr, > > the bootrom on n900 is different from TI HS omaps so the SMC call > > numbering may be different. > > > >3. For later cortex-a8 processors not affected by 430973, we need > > to clear IBE bit to avoid erratum 687067. > > > > Maybe it should be implemented something like: > > 1. if Cortex-A8, always execute invalidate BTB instruction in > cpu_v7_switch_mm This part still seems to need more investigating for why it's still needed also r3p2 as I describe above. Otherwise we may be hiding some other bug. > 2. For Cortex-A8 revisions affected by 430973, set IBE bit to 1, set it > to 0 for all others. That should happen as soon as possible, > otherwise kernel may crash on affected revisions if thumb- > compiled. Yes this makes sense. Regards, Tony
next prev parent reply other threads:[~2015-04-06 17:46 UTC|newest] Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-01 19:07 [PATCH RESEND] ARM: dts: OMAP3-N900: Add microphone bias voltages Jarkko Nikula 2015-03-30 16:30 ` Jarkko Nikula [not found] ` <55197A12.1050009-FVTvWyuFUl3QT0dZR+AlfA@public.gmane.org> 2015-03-30 16:42 ` Tony Lindgren 2015-03-30 17:45 ` Jarkko Nikula [not found] ` <55198BA4.5010207-FVTvWyuFUl3QT0dZR+AlfA@public.gmane.org> 2015-03-30 17:50 ` Tony Lindgren 2015-03-31 12:32 ` Sebastian Reichel 2015-04-01 19:47 ` Tony Lindgren 2015-04-03 16:35 ` ARM errata 430973 on multi platform kernels (was: OMAP3-N900: Add microphone bias voltages) Sebastian Reichel 2015-04-03 18:39 ` Tony Lindgren 2015-04-03 18:39 ` Tony Lindgren 2015-04-03 19:21 ` Robert Nelson 2015-04-03 19:21 ` Robert Nelson 2015-04-05 13:00 ` Sebastian Reichel 2015-04-05 13:00 ` Sebastian Reichel 2015-04-05 13:26 ` Pali Rohár 2015-04-05 13:26 ` Pali Rohár 2015-04-05 13:45 ` Sebastian Reichel 2015-04-05 13:45 ` Sebastian Reichel 2015-04-05 13:52 ` Pali Rohár 2015-04-05 13:52 ` Pali Rohár 2015-04-06 17:38 ` Sebastian Reichel 2015-04-06 17:38 ` Sebastian Reichel 2015-04-03 20:42 ` Pavel Machek 2015-04-03 20:42 ` Pavel Machek 2015-04-03 22:08 ` ARM errata 430973 on multi platform kernels Ivaylo Dimitrov 2015-04-03 22:08 ` Ivaylo Dimitrov 2015-04-03 22:15 ` Tony Lindgren 2015-04-03 22:15 ` Tony Lindgren 2015-04-03 22:47 ` Ivaylo Dimitrov 2015-04-03 22:47 ` Ivaylo Dimitrov 2015-04-03 22:52 ` Tony Lindgren 2015-04-03 22:52 ` Tony Lindgren 2015-04-05 4:13 ` Matthijs van Duin 2015-04-05 4:13 ` Matthijs van Duin 2015-04-05 7:23 ` Ivaylo Dimitrov 2015-04-05 7:23 ` Ivaylo Dimitrov 2015-04-05 16:50 ` Matthijs van Duin 2015-04-05 16:50 ` Matthijs van Duin 2015-04-05 16:52 ` Matthijs van Duin 2015-04-05 16:52 ` Matthijs van Duin 2015-04-05 21:08 ` Ivaylo Dimitrov 2015-04-05 21:08 ` Ivaylo Dimitrov 2015-04-05 23:52 ` Matthijs van Duin 2015-04-05 23:52 ` Matthijs van Duin 2015-04-06 15:19 ` Tony Lindgren 2015-04-06 15:19 ` Tony Lindgren 2015-04-06 15:40 ` Tony Lindgren 2015-04-06 15:40 ` Tony Lindgren 2015-04-06 17:14 ` Ivaylo Dimitrov 2015-04-06 17:14 ` Ivaylo Dimitrov 2015-04-06 17:42 ` Tony Lindgren [this message] 2015-04-06 17:42 ` Tony Lindgren 2015-04-06 18:14 ` Matthijs van Duin 2015-04-06 18:14 ` Matthijs van Duin 2015-04-07 2:23 ` Tony Lindgren 2015-04-07 2:23 ` Tony Lindgren 2015-04-07 3:12 ` Sebastian Reichel 2015-04-07 3:12 ` Sebastian Reichel 2015-04-07 3:49 ` Matthijs van Duin 2015-04-07 3:49 ` Matthijs van Duin 2015-04-07 14:48 ` Tony Lindgren 2015-04-07 14:48 ` Tony Lindgren 2015-04-09 22:37 ` Grazvydas Ignotas 2015-04-09 22:37 ` Grazvydas Ignotas 2015-04-09 22:44 ` Tony Lindgren 2015-04-09 22:44 ` Tony Lindgren 2015-04-09 23:44 ` Nishanth Menon 2015-04-09 23:44 ` Nishanth Menon 2015-04-10 22:05 ` Grazvydas Ignotas 2015-04-10 22:05 ` Grazvydas Ignotas 2015-04-10 23:08 ` Tony Lindgren 2015-04-10 23:08 ` Tony Lindgren 2015-04-16 16:53 ` Matthijs van Duin 2015-04-16 16:53 ` Matthijs van Duin 2015-04-07 13:58 ` Russell King - ARM Linux 2015-04-07 13:58 ` Russell King - ARM Linux 2015-04-07 13:57 ` Russell King - ARM Linux 2015-04-07 13:57 ` Russell King - ARM Linux 2015-04-07 15:22 ` Tony Lindgren 2015-04-07 15:22 ` Tony Lindgren 2015-04-07 15:44 ` Tony Lindgren 2015-04-07 15:44 ` Tony Lindgren 2015-04-08 23:08 ` Russell King - ARM Linux 2015-04-08 23:08 ` Russell King - ARM Linux 2015-04-08 23:15 ` Tony Lindgren 2015-04-08 23:15 ` Tony Lindgren 2015-04-08 23:06 ` Russell King - ARM Linux 2015-04-08 23:06 ` Russell King - ARM Linux 2015-04-09 13:48 ` Russell King - ARM Linux 2015-04-09 13:48 ` Russell King - ARM Linux 2015-04-09 15:09 ` Tony Lindgren 2015-04-09 15:09 ` Tony Lindgren 2015-04-09 15:30 ` Russell King - ARM Linux 2015-04-09 15:30 ` Russell King - ARM Linux 2015-04-15 16:31 ` Sebastian Reichel 2015-04-15 16:31 ` Sebastian Reichel 2015-04-16 16:08 ` Tony Lindgren 2015-04-16 16:08 ` Tony Lindgren 2015-04-17 18:41 ` Sebastian Reichel 2015-04-17 18:41 ` Sebastian Reichel 2015-04-20 23:40 ` Tony Lindgren 2015-04-20 23:40 ` Tony Lindgren 2015-04-23 10:25 ` Russell King - ARM Linux 2015-04-23 10:25 ` Russell King - ARM Linux 2015-04-23 14:17 ` Tony Lindgren 2015-04-23 14:17 ` Tony Lindgren 2015-04-28 18:13 ` Russell King - ARM Linux 2015-04-28 18:13 ` Russell King - ARM Linux 2015-04-29 14:40 ` Tony Lindgren 2015-04-29 14:40 ` Tony Lindgren 2015-05-04 14:24 ` Tony Lindgren 2015-05-04 14:24 ` Tony Lindgren 2015-04-24 8:54 ` Matthijs van Duin 2015-04-24 8:54 ` Matthijs van Duin 2015-04-28 18:11 ` Russell King - ARM Linux 2015-04-28 18:11 ` Russell King - ARM Linux 2015-05-02 6:51 ` Matthijs van Duin 2015-05-02 6:51 ` Matthijs van Duin 2015-04-05 13:39 ` Sebastian Reichel 2015-04-05 13:39 ` Sebastian Reichel 2015-04-06 15:24 ` Tony Lindgren 2015-04-06 15:24 ` Tony Lindgren 2015-05-04 16:07 ` [PATCH RESEND] ARM: dts: OMAP3-N900: Add microphone bias voltages 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=20150406174245.GJ18048@atomide.com \ --to=tony@atomide.com \ --cc=ivo.g.dimitrov.75@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=matthijsvanduin@gmail.com \ --cc=pavel@ucw.cz \ --cc=sre@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: linkBe 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.