* Matt Turner (mattst88@xxxxxxxxx) [110822 02:20]: > On Sat, Aug 20, 2011 at 9:05 PM, Andreas Barth <aba@xxxxxxxxxxxxxxx> wrote: > > diff --git a/arch/mips/loongson/Platform b/arch/mips/loongson/Platform > > index 29692e5..d6471a5 100644 > > --- a/arch/mips/loongson/Platform > > +++ b/arch/mips/loongson/Platform > > @@ -4,10 +4,8 @@ > > > > # Only gcc >= 4.4 have Loongson specific support > > cflags-$(CONFIG_CPU_LOONGSON2) += -Wa,--trap > > -cflags-$(CONFIG_CPU_LOONGSON2E) += \ > > - $(call cc-option,-march=loongson2e,-march=r4600) > > -cflags-$(CONFIG_CPU_LOONGSON2F) += \ > > - $(call cc-option,-march=loongson2f,-march=r4600) > > +cflags-$(CONFIG_CPU_LOONGSON2) += \ > > + $(call cc-option,-march=r4600) > > # Enable the workarounds for Loongson2f > > ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS > > ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),) > > ... but I don't understand this one. > > So, in the name of simplification, let's just remove the ability to > compile with -march=loongson2{e,f}? What? I want to build a kernel that works on both 2e and 2f. Such a kernel must not be built with 2e or 2f specific code (which are incompatible to each other). > Is there some case where a -march=loongson2e kernel won't work on a 2F > system? Yes. There are 2E opcodes removed in the 2F. See e.g. http://media.romanrm.ru/loongson/info/Loongson%202F%20Datasheet.pdf Implementing all the features described in the MIPSIII, Loongson 2E has some of custom instructions occupied the MIPS-reserved instruction slot. So in the 2F, these custom-tailored instruction opcodes need to remove to the user instruction slot (COP2 or Special2). (I could of course check if a kernel has such opcodes included. But I'm unhappy to use compiler instructions which might end in invalid code. > The commit message should explain this stuff. Ok. Andi