aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorJouni Hogander <jouni.hogander@unikie.com>2019-11-19 13:12:54 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-12-17 11:10:52 +0100
commit07bfd71dacb4775720708ca2fc39fef10c9f37c4 (patch)
tree13d1bb01110aacfefe8999a23ac3cd83b4a5e9fa /sys
parentd13d795888186e87aeec9ce670986d183036c348 (diff)
Implement basic support for MIPS64LE
Add basic stuff to enable MIPS64ELR2 target: - build - make extract - make generate - qemu execution - system call parsing from /proc/kallsyms
Diffstat (limited to 'sys')
-rw-r--r--sys/linux/init.go1
-rw-r--r--sys/targets/targets.go10
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/linux/init.go b/sys/linux/init.go
index 64df47a3f..91bf32be8 100644
--- a/sys/linux/init.go
+++ b/sys/linux/init.go
@@ -83,6 +83,7 @@ func InitTarget(target *prog.Target) {
case "arm64":
case "arm":
case "ppc64le":
+ case "mips64le":
default:
panic("unknown arch")
}
diff --git a/sys/targets/targets.go b/sys/targets/targets.go
index 34c06d5c6..e1d5731d8 100644
--- a/sys/targets/targets.go
+++ b/sys/targets/targets.go
@@ -174,6 +174,16 @@ var List = map[string]map[string]*Target{
KernelArch: "arm",
KernelHeaderArch: "arm",
},
+ "mips64le": {
+ VMArch: "mips64le",
+ PtrSize: 8,
+ PageSize: 4 << 10,
+ CFlags: []string{"-D_MIPS_SZLONG=64", "-D__MIPSEL__", "-D__KERNEL__", "-D_MIPS_SIM=_MIPS_SIM_ABI64"},
+ CrossCFlags: []string{"-static", "-march=mips64r2", "-mabi=64", "-EL"},
+ CCompilerPrefix: "mips64el-linux-gnuabi64-",
+ KernelArch: "mips",
+ KernelHeaderArch: "mips",
+ },
"ppc64le": {
PtrSize: 8,
PageSize: 4 << 10,