aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2011-10-16 22:16:45 -0400
committerMatt Turner <mattst88@gmail.com>2011-10-16 22:20:46 -0400
commitd6112c9de80681d8494031d36da3526ea8d27582 (patch)
treefd4011cbe98f24ad72c4ccdc1244866dff83c229
parentRe-add MD5 until handbook is updated. (diff)
downloadcatalyst-d6112c9de80681d8494031d36da3526ea8d27582.tar.gz
catalyst-d6112c9de80681d8494031d36da3526ea8d27582.tar.bz2
catalyst-d6112c9de80681d8494031d36da3526ea8d27582.zip
mips.py: add mips32 softfloat targets
softfloat targets are for producing a userland (ie glibc, gcc) that handles software floating-point emulation in userspace. The alternative is configuring your kernel to emulate floating-point math, which is slower but allows you to use a standard "hard float" userland.
-rw-r--r--modules/catalyst/arch/mips.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/catalyst/arch/mips.py b/modules/catalyst/arch/mips.py
index 46fafa8..4b6e77c 100644
--- a/modules/catalyst/arch/mips.py
+++ b/modules/catalyst/arch/mips.py
@@ -41,12 +41,26 @@ class arch_mips32(generic_mips):
generic_mips.__init__(self,myspec)
self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe"
+class arch_mips32_softfloat(generic_mips):
+ "Builder class for MIPS 32 [Big-endian softfloat]"
+ def __init__(self,myspec):
+ generic_mips.__init__(self,myspec)
+ self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe"
+ self.settings["CHOST"]="mips-softfloat-linux-gnu"
+
class arch_mips32r2(generic_mips):
"Builder class for MIPS 32r2 [Big-endian]"
def __init__(self,myspec):
generic_mips.__init__(self,myspec)
self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe"
+class arch_mips32r2_softfloat(generic_mips):
+ "Builder class for MIPS 32r2 [Big-endian softfloat]"
+ def __init__(self,myspec):
+ generic_mips.__init__(self,myspec)
+ self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe"
+ self.settings["CHOST"]="mips-softfloat-linux-gnu"
+
class arch_mips3(generic_mips):
"Builder class for MIPS III [Big-endian]"
def __init__(self,myspec):
@@ -179,12 +193,26 @@ class arch_mips32el(generic_mipsel):
generic_mipsel.__init__(self,myspec)
self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe"
+class arch_mips32el_softfloat(generic_mipsel):
+ "Builder class for MIPS 32 [Little-endian softfloat]"
+ def __init__(self,myspec):
+ generic_mipsel.__init__(self,myspec)
+ self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe"
+ self.settings["CHOST"]="mipsel-softfloat-linux-gnu"
+
class arch_mips32r2el(generic_mipsel):
"Builder class for MIPS 32r2 [Little-endian]"
def __init__(self,myspec):
generic_mipsel.__init__(self,myspec)
self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe"
+class arch_mips32r2el_softfloat(generic_mipsel):
+ "Builder class for MIPS 32r2 [Little-endian softfloat]"
+ def __init__(self,myspec):
+ generic_mipsel.__init__(self,myspec)
+ self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe"
+ self.settings["CHOST"]="mipsel-softfloat-linux-gnu"
+
class arch_mipsel3(generic_mipsel):
"Builder class for MIPS III [Little-endian]"
def __init__(self,myspec):
@@ -325,7 +353,9 @@ _subarch_map = {
"mips" : arch_mips1,
"mips1" : arch_mips1,
"mips32" : arch_mips32,
+ "mips32_softfloat" : arch_mips32_softfloat,
"mips32r2" : arch_mips32r2,
+ "mips32r2_softfloat" : arch_mips32r2_softfloat,
"mips3" : arch_mips3,
"mips3_n32" : arch_mips3_n32,
"mips3_n64" : arch_mips3_n64,
@@ -349,7 +379,9 @@ _subarch_map = {
"mipsel" : arch_mipsel1,
"mipsel1" : arch_mipsel1,
"mips32el" : arch_mips32el,
+ "mips32el_softfloat" : arch_mips32el_softfloat,
"mips32r2el" : arch_mips32r2el,
+ "mips32r2el_softfloat" : arch_mips32r2el_softfloat,
"mipsel3" : arch_mipsel3,
"mipsel3_n32" : arch_mipsel3_n32,
"mipsel3_n64" : arch_mipsel3_n64,