Thread (9 messages) 9 messages, 3 authors, 2011-08-26

Re: [PATCH] mips/loongson: unify compiler flags and load location for Loongson 2E and 2F

From: Andreas Barth <hidden>
Date: 2011-08-22 08:07:10

* Matt Turner (mattst88@gmail.com) [110822 02:20]:
On Sat, Aug 20, 2011 at 9:05 PM, Andreas Barth [off-list ref] wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help