All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: 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.