Message ID | 1510668223-18484-2-git-send-email-andreas@gaisler.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | sparc32,leon: Allow and use CAS for atomic operations for LEON | expand |
From: Andreas Larsson <andreas@gaisler.com> Date: Tue, 14 Nov 2017 15:03:42 +0100 > Apart from using LEON3 instruction timing it allows for usage of the > CASA instruction. > > Signed-off-by: Andreas Larsson <andreas@gaisler.com> Up until this point the LEON kconfig option is largely passive. All of the sparc_cpu_type logic drives what parts of the kernel are used based upon the run-time detected cpu type. But with this change, it completely breaks the 32-bit sparc kernel on any non-Leon processor. I wish you would reconsider this approach, and instead do hardcoded assembler instruction opcodes to use "casa" in assembler, and run time detect CAS support in the 32-bit cpu. Thank you. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index 8496a07..673ee73 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile @@ -24,14 +24,20 @@ LDFLAGS := -m elf32_sparc export BITS := 32 UTS_MACHINE := sparc +ifeq ($(CONFIG_SPARC_LEON),y) +SPARC_MCPU=leon3 +else +SPARC_MCPU=v8 +endif + # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you # give -mcpu=v8. This silently worked with older bintutils versions but # does not any more. -KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 +KBUILD_CFLAGS += -m32 -mcpu=$(SPARC_MCPU) -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 KBUILD_CFLAGS += -Wa,-Av8 -KBUILD_AFLAGS += -m32 -Wa,-Av8 +KBUILD_AFLAGS += -m32 -mcpu=$(SPARC_MCPU) -Wa,-Av8 else #####
Apart from using LEON3 instruction timing it allows for usage of the CASA instruction. Signed-off-by: Andreas Larsson <andreas@gaisler.com> --- arch/sparc/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)