On Tue, Jan 18, 2011 at 10:36:08AM -0000, Will Deacon wrote: > > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > > index c22c1ad..9c43052 100644 > > --- a/arch/arm/Makefile > > +++ b/arch/arm/Makefile > > @@ -89,6 +89,7 @@ tune-$(CONFIG_CPU_XSCALE) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) > > tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,- > > mcpu=xscale > > tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale) > > tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) > > +tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) > > Can we change the tune target to 1176 for v6k? At first glance, GCC doesn't seem to do anything different for 1136 vs 1176: ARM_CORE("arm1136j-s", arm1136js, 6J, FL_LDSCHED, 9e) ARM_CORE("arm1176jz-s", arm1176jzs, 6ZK, FL_LDSCHED, 9e) ARM_CORE("mpcore", mpcore, 6K, FL_LDSCHED | FL_VFPV2, 9e) The 6J/6K are used to set the __ARM_ARCH_xx__ definition. Everything else between 1136 and 1176 is the same. In fact, looking at the .md files, switching to 1176 may make things worse: arm1020e.md: (and (eq_attr "tune" "arm1020e,arm1022e") arm1020e.md: (const (if_then_else (and (eq_attr "tune" "arm1020e,arm1022e") arm1026ejs.md: (and (eq_attr "tune" "arm1026ejs") arm1136jfs.md: (and (eq_attr "tune" "arm1136js,arm1136jfs") arm926ejs.md: (and (eq_attr "tune" "arm926ejs") arm-cores.def: If you update this table, you must update the "tune" attribute in arm.h: {"tune", "%{!mcpu=*:%{!mtune=*:-mtune=%(VALUE)}}" }, \ arm.md: (eq_attr "tune" "arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa8") arm.md: (eq_attr "tune" "!arm1020e,arm1022e,cortexa8")) arm-tune.md:(define_attr "tune" cortex-a8.md: (and (eq_attr "tune" "cortexa8") cortex-a8-neon.md: (and (eq_attr "tune" "cortexa8") Nothing seems to tune for arm1176, but it looks like quite a bit of work has been put into providing gcc with a pipeline description for arm1136. The above is from gcc 4.3.5 sources. > > config DMA_CACHE_RWFO > > bool "Enable read/write for ownership DMA cache maintenance" > > - depends on CPU_V6 && SMP > > + depends on (CPU_V6 || CPU_V6K) && SMP > > default y > > help > > The Snoop Control Unit on ARM11MPCore does not detect the > > Can we lose the CPU_V6 check here? RWFO is only required for 11MPCore > so I think we just need to check CPU_V6K && SMP. I'd rather not in this patch - this patch adds CPU_V6K as an alias for CPU_V6 - so eveywhere which referenced CPU_V6 becomes (CPU_V6 || CPU_V6K). We could remove it in a later patch though. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html