From: Paul Walmsley <paul@pwsan.com> To: Will Deacon <will.deacon@arm.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>, Russell King - ARM Linux <linux@arm.linux.org.uk>, Rajendra Nayak <rnayak@ti.com>, "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH] ARM: v6: avoid read_cpuid_ext() on ARM1136r0 in cache_ops_need_broadcast() Date: Sun, 28 Jul 2013 19:47:15 +0000 (UTC) [thread overview] Message-ID: <alpine.DEB.2.02.1307281945530.23852@utopia.booyaka.com> (raw) In-Reply-To: <20130728111038.GA9374@mudshark.cambridge.arm.com> Hi Will On Sun, 28 Jul 2013, Will Deacon wrote: > On Sun, Jul 28, 2013 at 06:43:24AM +0100, Paul Walmsley wrote: > > > > Commit 621a0147d5c921f4cc33636ccd0602ad5d7cbfbc ("ARM: 7757/1: mm: > > don't flush icache in switch_mm with hardware broadcasting") breaks > > the boot on OMAP2430SDP with omap2plus_defconfig. Tracked to an > > undefined instruction abort from the CP15 read in > > cache_ops_need_broadcast(). It turns out that early ARM1136 variants > > don't support several CP15 registers that later ARM cores do. > > ARM1136JF-S TRM section 3.2.1 "Register allocation" has the details. > > Intriguing... I wouldn't expect a cp15 read to be emitted for 1136, since > the SMP_ON_UP magic should have caused is_smp() to return false. > ... > So we should have returned 0 here without exploding (this just reads a > .globl initialised in head.S). Are we somehow misidentifying your 1136 > as an SMP core? You're right - the is_arm1136_r0() logic is completely unnecessary - it's just the 'asm volatile' that makes the difference. - Paul
WARNING: multiple messages have this Message-ID (diff)
From: paul@pwsan.com (Paul Walmsley) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] ARM: v6: avoid read_cpuid_ext() on ARM1136r0 in cache_ops_need_broadcast() Date: Sun, 28 Jul 2013 19:47:15 +0000 (UTC) [thread overview] Message-ID: <alpine.DEB.2.02.1307281945530.23852@utopia.booyaka.com> (raw) In-Reply-To: <20130728111038.GA9374@mudshark.cambridge.arm.com> Hi Will On Sun, 28 Jul 2013, Will Deacon wrote: > On Sun, Jul 28, 2013 at 06:43:24AM +0100, Paul Walmsley wrote: > > > > Commit 621a0147d5c921f4cc33636ccd0602ad5d7cbfbc ("ARM: 7757/1: mm: > > don't flush icache in switch_mm with hardware broadcasting") breaks > > the boot on OMAP2430SDP with omap2plus_defconfig. Tracked to an > > undefined instruction abort from the CP15 read in > > cache_ops_need_broadcast(). It turns out that early ARM1136 variants > > don't support several CP15 registers that later ARM cores do. > > ARM1136JF-S TRM section 3.2.1 "Register allocation" has the details. > > Intriguing... I wouldn't expect a cp15 read to be emitted for 1136, since > the SMP_ON_UP magic should have caused is_smp() to return false. > ... > So we should have returned 0 here without exploding (this just reads a > .globl initialised in head.S). Are we somehow misidentifying your 1136 > as an SMP core? You're right - the is_arm1136_r0() logic is completely unnecessary - it's just the 'asm volatile' that makes the difference. - Paul
next prev parent reply other threads:[~2013-07-28 19:47 UTC|newest] Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-07-22 18:07 OMAP2430 SDP boot broken after Linus' rmk merge Paul Walmsley 2013-07-22 18:07 ` Paul Walmsley 2013-07-22 18:43 ` Russell King - ARM Linux 2013-07-22 18:43 ` Russell King - ARM Linux 2013-07-22 20:07 ` Paul Walmsley 2013-07-22 20:07 ` Paul Walmsley 2013-07-23 7:03 ` Rajendra Nayak 2013-07-23 7:03 ` Rajendra Nayak 2013-07-23 7:07 ` Paul Walmsley 2013-07-23 7:07 ` Paul Walmsley 2013-07-23 9:05 ` Rajendra Nayak 2013-07-23 9:05 ` Rajendra Nayak 2013-07-24 13:56 ` Will Deacon 2013-07-24 13:56 ` Will Deacon 2013-07-24 14:17 ` Santosh Shilimkar 2013-07-24 14:17 ` Santosh Shilimkar 2013-07-24 14:20 ` Will Deacon 2013-07-24 14:20 ` Will Deacon 2013-07-24 14:45 ` Santosh Shilimkar 2013-07-24 14:45 ` Santosh Shilimkar 2013-07-27 4:10 ` Paul Walmsley 2013-07-27 4:10 ` Paul Walmsley 2013-07-27 12:22 ` Will Deacon 2013-07-27 12:22 ` Will Deacon 2013-07-28 5:38 ` Paul Walmsley 2013-07-28 5:38 ` Paul Walmsley 2013-07-28 5:46 ` [PATCH] ARM: v6: avoid remaining accesses to missing CP15 registers on ARM1136 r0 Paul Walmsley 2013-07-28 5:46 ` Paul Walmsley 2013-07-28 5:58 ` Paul Walmsley 2013-07-28 5:58 ` Paul Walmsley 2013-07-28 6:00 ` [PATCH v2] " Paul Walmsley 2013-07-28 6:00 ` Paul Walmsley 2013-07-28 19:58 ` Paul Walmsley 2013-07-28 19:58 ` Paul Walmsley 2013-07-28 5:43 ` [PATCH] ARM: v6: avoid read_cpuid_ext() on ARM1136r0 in cache_ops_need_broadcast() Paul Walmsley 2013-07-28 5:43 ` Paul Walmsley 2013-07-28 11:10 ` Will Deacon 2013-07-28 11:10 ` Will Deacon 2013-07-28 11:52 ` Russell King - ARM Linux 2013-07-28 11:52 ` Russell King - ARM Linux 2013-07-28 19:56 ` Paul Walmsley 2013-07-28 19:56 ` Paul Walmsley 2013-07-28 19:47 ` Paul Walmsley [this message] 2013-07-28 19:47 ` Paul Walmsley 2013-07-28 20:16 ` [PATCH] ARM: v6: prevent gcc from reordering extended CP15 reads above is_smp() test Paul Walmsley 2013-07-28 20:16 ` Paul Walmsley 2013-07-29 7:30 ` Tony Lindgren 2013-07-29 7:30 ` Tony Lindgren 2013-07-29 10:02 ` Will Deacon 2013-07-29 10:02 ` Will Deacon 2013-07-30 10:58 ` Paul Walmsley 2013-07-30 10:58 ` Paul Walmsley 2013-07-30 11:32 ` [PATCH v2] ARM: v6: prevent gcc 4.5 " Paul Walmsley 2013-07-30 11:32 ` Paul Walmsley 2013-07-30 15:04 ` Will Deacon 2013-07-30 15:04 ` Will Deacon 2013-07-24 14:52 ` OMAP2430 SDP boot broken after Linus' rmk merge Russell King - ARM Linux 2013-07-24 14:52 ` Russell King - ARM Linux 2013-07-24 15:40 ` OMAP4430 SDP boot issues.. (Was Re: OMAP2430 SDP boot broken after Linus' rmk merge) Santosh Shilimkar 2013-07-24 15:40 ` Santosh Shilimkar 2013-07-24 17:23 ` Russell King - ARM Linux 2013-07-24 17:23 ` Russell King - ARM Linux 2013-07-24 18:17 ` Santosh Shilimkar 2013-07-24 18:17 ` Santosh Shilimkar 2013-07-25 6:40 ` OMAP2430 SDP boot broken after Linus' rmk merge Tomi Valkeinen 2013-07-25 6:40 ` Tomi Valkeinen 2013-07-25 6:50 ` Tomi Valkeinen 2013-07-25 6:50 ` Tomi Valkeinen 2013-07-26 22:59 ` Russell King - ARM Linux 2013-07-26 22:59 ` Russell King - ARM Linux 2013-08-07 18:09 ` Paul Walmsley 2013-08-07 18:09 ` Paul Walmsley 2013-08-08 5:37 ` Rajendra Nayak 2013-08-08 5:37 ` Rajendra Nayak 2013-08-08 10:20 ` Rajendra Nayak 2013-08-08 10:20 ` Rajendra Nayak 2013-07-23 10:33 ` Jonathan Austin 2013-07-23 10:33 ` Jonathan Austin 2013-07-31 0:57 ` Paul Walmsley 2013-07-31 0:57 ` Paul Walmsley
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=alpine.DEB.2.02.1307281945530.23852@utopia.booyaka.com \ --to=paul@pwsan.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=rnayak@ti.com \ --cc=santosh.shilimkar@ti.com \ --cc=will.deacon@arm.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: 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.