MIPS o32 ABI on 64-bit CPUs looks like a ILP32-on-64bit data
model, allowing 64-bit arithmetic and data movement instructions.

This is the default ABI used by the "Sony Linux Toolkit for
Playstation 2".

As we don't know big-endian uses, we only introduce the
little-endian variant.

Inspired-by: Richard Henderson <r...@twiddle.net>
Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
---
Cc: Fredrik Noring <nor...@nocrew.org>
Cc: Maciej W. Rozycki <ma...@linux-mips.org>
Cc: Jürgen Urban <juergenur...@gmx.de>

Cc from https://lists.debian.org/debian-mips/2015/05/msg00014.html:
Cc: Mathieu Malaterre <ma...@debian.org>
Cc: James Cowgill <james...@cowgill.org.uk>
Cc: YunQiang Su <wzss...@gmail.com>
Cc: David Daney <ddaney.c...@gmail.com>
---
 docs/user/main.rst                                 | 3 +++
 default-configs/targets/mips64o32el-linux-user.mak | 7 +++++++
 2 files changed, 10 insertions(+)
 create mode 100644 default-configs/targets/mips64o32el-linux-user.mak

diff --git a/docs/user/main.rst b/docs/user/main.rst
index 8dfe232a3af..2cef1320ff3 100644
--- a/docs/user/main.rst
+++ b/docs/user/main.rst
@@ -211,6 +211,9 @@ Other binaries
 
    * ``qemu-mipsel`` executes 32-bit little endian MIPS binaries (MIPS O32 
ABI).
 
+   * ``qemu-mips64o32el`` executes 64-bit little endian MIPS binaries (MIPS O32
+     ABI).
+
    * ``qemu-mips64`` executes 64-bit big endian MIPS binaries (MIPS N64 ABI).
 
    * ``qemu-mips64el`` executes 64-bit little endian MIPS binaries (MIPS N64
diff --git a/default-configs/targets/mips64o32el-linux-user.mak 
b/default-configs/targets/mips64o32el-linux-user.mak
new file mode 100644
index 00000000000..ecd57ff949f
--- /dev/null
+++ b/default-configs/targets/mips64o32el-linux-user.mak
@@ -0,0 +1,7 @@
+TARGET_ARCH=mips64
+TARGET_BASE_ARCH=mips
+TARGET_ABI_MIPSO32=y
+TARGET_ABI32=y
+TARGET_SYSTBL_ABI=o32
+TARGET_SYSTBL=../mips/syscall_o32.tbl
+TARGET_ALIGNED_ONLY=y
-- 
2.26.2


Reply via email to