* [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 @ 2014-08-22 2:06 Mark Brown 2014-08-22 5:09 ` Brian Norris 0 siblings, 1 reply; 5+ messages in thread From: Mark Brown @ 2014-08-22 2:06 UTC (permalink / raw) To: linux-arm-kernel From: Mark Brown <broonie@linaro.org> The brcmstb SMP code contains isb() and dsb() which are not supported when building for -march=armv6 as happens when building allmodconfig. Since I have not been able to identify a way to override the compiler architecture selection per file add a Kconfig dependency to ensure this code is not built if V6 support is enabled. There is doubtless a better solution. Signed-off-by: Mark Brown <broonie@linaro.org> --- arch/arm/mach-bcm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index fc93800..372132d 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -102,6 +102,7 @@ config ARCH_BCM_5301X config ARCH_BRCMSTB bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 depends on MMU + depends on !CPU_V6 select ARM_GIC select MIGHT_HAVE_PCI select HAVE_SMP -- 2.1.0.rc1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 2014-08-22 2:06 [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 Mark Brown @ 2014-08-22 5:09 ` Brian Norris 2014-08-22 14:44 ` Mark Brown 0 siblings, 1 reply; 5+ messages in thread From: Brian Norris @ 2014-08-22 5:09 UTC (permalink / raw) To: linux-arm-kernel + Russell On Thu, Aug 21, 2014 at 09:06:34PM -0500, Mark Brown wrote: > From: Mark Brown <broonie@linaro.org> > > The brcmstb SMP code contains isb() and dsb() which are not supported when The problem is not with isb() and dsb() (which have different definitions when v6 is enabled), but with v7_exit_coherency_flush(). > building for -march=armv6 as happens when building allmodconfig. Since I > have not been able to identify a way to override the compiler architecture > selection per file add a Kconfig dependency to ensure this code is not > built if V6 support is enabled. I already proposed this solution to override the compiler architecture, in the same pattern as other similar code in the same directory. http://article.gmane.org/gmane.linux.drivers.devicetree/84517 My using 'CFLAGS_<obj> += <flags>', you can compile in v7. > There is doubtless a better solution. I think mine is better? Not sure. Comments are welcome. But anyway, this file *should* be dropped for 3.17 (resolving the current problem at hand), if somebody will eventually pick up this patch: http://article.gmane.org/gmane.linux.kernel/1767679 Hello, anybody? Should Matt be picking this up, or for post-rc1, do Arnd/Olof take these patches directly? > Signed-off-by: Mark Brown <broonie@linaro.org> > --- > arch/arm/mach-bcm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig > index fc93800..372132d 100644 > --- a/arch/arm/mach-bcm/Kconfig > +++ b/arch/arm/mach-bcm/Kconfig > @@ -102,6 +102,7 @@ config ARCH_BCM_5301X > config ARCH_BRCMSTB > bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 > depends on MMU > + depends on !CPU_V6 > select ARM_GIC > select MIGHT_HAVE_PCI > select HAVE_SMP Regards, Brian ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 2014-08-22 5:09 ` Brian Norris @ 2014-08-22 14:44 ` Mark Brown 2014-08-25 17:27 ` Brian Norris 0 siblings, 1 reply; 5+ messages in thread From: Mark Brown @ 2014-08-22 14:44 UTC (permalink / raw) To: linux-arm-kernel On Thu, Aug 21, 2014 at 10:09:07PM -0700, Brian Norris wrote: > On Thu, Aug 21, 2014 at 09:06:34PM -0500, Mark Brown wrote: > > From: Mark Brown <broonie@linaro.org> > > building for -march=armv6 as happens when building allmodconfig. Since I > > have not been able to identify a way to override the compiler architecture > > selection per file add a Kconfig dependency to ensure this code is not > > built if V6 support is enabled. > I already proposed this solution to override the compiler architecture, > in the same pattern as other similar code in the same directory. > http://article.gmane.org/gmane.linux.drivers.devicetree/84517 > My using 'CFLAGS_<obj> += <flags>', you can compile in v7. I tried that but it wasn't doing the right thing for me - it appeared since the compiler ends up getting both -march=armv7-a and -march=armv6 it complained that it couldn't satisfy both options. It might be that this is version dependant or the actual cause wsa something else, I didn't investigate too hard. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140822/274418c1/attachment.sig> ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 2014-08-22 14:44 ` Mark Brown @ 2014-08-25 17:27 ` Brian Norris 2014-08-26 10:54 ` Arnd Bergmann 0 siblings, 1 reply; 5+ messages in thread From: Brian Norris @ 2014-08-25 17:27 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 22, 2014 at 09:44:03AM -0500, Mark Brown wrote: > On Thu, Aug 21, 2014 at 10:09:07PM -0700, Brian Norris wrote: > > On Thu, Aug 21, 2014 at 09:06:34PM -0500, Mark Brown wrote: > > > From: Mark Brown <broonie@linaro.org> > > > > building for -march=armv6 as happens when building allmodconfig. Since I > > > have not been able to identify a way to override the compiler architecture > > > selection per file add a Kconfig dependency to ensure this code is not > > > built if V6 support is enabled. > > > I already proposed this solution to override the compiler architecture, > > in the same pattern as other similar code in the same directory. > > > http://article.gmane.org/gmane.linux.drivers.devicetree/84517 > > > My using 'CFLAGS_<obj> += <flags>', you can compile in v7. > > I tried that but it wasn't doing the right thing for me - it appeared > since the compiler ends up getting both -march=armv7-a and -march=armv6 > it complained that it couldn't satisfy both options. It might be that > this is version dependant or the actual cause wsa something else, I > didn't investigate too hard. If you ever see revisit this or see this again, I'd be interested in seeing the gcc args (make V=1) and version that failed. My fix worked for me, and I'll likely use it for the next revision if I don't find a good reason not to. Thanks, Brian ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 2014-08-25 17:27 ` Brian Norris @ 2014-08-26 10:54 ` Arnd Bergmann 0 siblings, 0 replies; 5+ messages in thread From: Arnd Bergmann @ 2014-08-26 10:54 UTC (permalink / raw) To: linux-arm-kernel On Monday 25 August 2014 10:27:13 Brian Norris wrote: > On Fri, Aug 22, 2014 at 09:44:03AM -0500, Mark Brown wrote: > > On Thu, Aug 21, 2014 at 10:09:07PM -0700, Brian Norris wrote: > > > On Thu, Aug 21, 2014 at 09:06:34PM -0500, Mark Brown wrote: > > > > From: Mark Brown <broonie@linaro.org> > > > > > > building for -march=armv6 as happens when building allmodconfig. Since I > > > > have not been able to identify a way to override the compiler architecture > > > > selection per file add a Kconfig dependency to ensure this code is not > > > > built if V6 support is enabled. > > > > > I already proposed this solution to override the compiler architecture, > > > in the same pattern as other similar code in the same directory. > > > > > http://article.gmane.org/gmane.linux.drivers.devicetree/84517 > > > > > My using 'CFLAGS_<obj> += <flags>', you can compile in v7. > > > > I tried that but it wasn't doing the right thing for me - it appeared > > since the compiler ends up getting both -march=armv7-a and -march=armv6 > > it complained that it couldn't satisfy both options. It might be that > > this is version dependant or the actual cause wsa something else, I > > didn't investigate too hard. I've never seen that happen. Normally, the last option just overrides all previous conflicting ones. > If you ever see revisit this or see this again, I'd be interested in > seeing the gcc args (make V=1) and version that failed. My fix worked > for me, and I'll likely use it for the next revision if I don't find a > good reason not to. FWIW, I haven't seen any problems with the version below: diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index 67c492aabf4d..546d3d3022a4 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -38,3 +38,5 @@ ifeq ($(CONFIG_ARCH_BRCMSTB),y) obj-y += brcmstb.o obj-$(CONFIG_SMP) += headsmp-brcmstb.o platsmp-brcmstb.o endif + +CFLAGS_platsmp-brcmstb.o += -march=armv7-a Arnd ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-26 10:54 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-08-22 2:06 [PATCH] ARM: bcm: Don't build brcmstb SMP code when building for V6 Mark Brown 2014-08-22 5:09 ` Brian Norris 2014-08-22 14:44 ` Mark Brown 2014-08-25 17:27 ` Brian Norris 2014-08-26 10:54 ` Arnd Bergmann
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.