[RFC PATCH 31/42] default-configs: Support o32 ABI with R5900 64-bit MIPS CPU

Philippe Mathieu-Daudé posted 42 patches 4 years, 9 months ago
There is a newer version of this series
[RFC PATCH 31/42] default-configs: Support o32 ABI with R5900 64-bit MIPS CPU
Posted by Philippe Mathieu-Daudé 4 years, 9 months ago
MIPS o32 ABI on 64-bit CPUs looks like a ILP32-on-64bit data
model, allowing 64-bit arithmetic and data movement instructions.

Since this ABI seems to have only ever been used for the
development of the PS2 with the "Sony Linux Toolkit for
Playstation 2" targetting the R5900 CPU (little-endian),
we name this user-mode target 'r5900o32el'.

Inspired-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Rename qemu-mips64o32el -> qemu-r5900o32el (Fredrik)
---
 docs/user/main.rst                                | 3 +++
 default-configs/targets/r5900o32el-linux-user.mak | 7 +++++++
 2 files changed, 10 insertions(+)
 create mode 100644 default-configs/targets/r5900o32el-linux-user.mak

diff --git a/docs/user/main.rst b/docs/user/main.rst
index 8dfe232a3af..405acb8155e 100644
--- a/docs/user/main.rst
+++ b/docs/user/main.rst
@@ -221,6 +221,9 @@ Other binaries
    * ``qemu-mipsn32el`` executes 32-bit little endian MIPS binaries (MIPS N32
      ABI).
 
+   * ``qemu-r5900o32el`` executes 64-bit little endian MIPS R5900 binaries (MIPS
+     O32 ABI).
+
 -  user mode (NiosII)
 
    * ``qemu-nios2`` TODO.
diff --git a/default-configs/targets/r5900o32el-linux-user.mak b/default-configs/targets/r5900o32el-linux-user.mak
new file mode 100644
index 00000000000..ecd57ff949f
--- /dev/null
+++ b/default-configs/targets/r5900o32el-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

Re: [RFC PATCH 31/42] default-configs: Support o32 ABI with R5900 64-bit MIPS CPU
Posted by Richard Henderson 4 years, 9 months ago
On 2/14/21 9:59 AM, Philippe Mathieu-Daudé wrote:
> MIPS o32 ABI on 64-bit CPUs looks like a ILP32-on-64bit data
> model, allowing 64-bit arithmetic and data movement instructions.
> 
> Since this ABI seems to have only ever been used for the
> development of the PS2 with the "Sony Linux Toolkit for
> Playstation 2" targetting the R5900 CPU (little-endian),
> we name this user-mode target 'r5900o32el'.
> 
> Inspired-by: Richard Henderson <rth@twiddle.net>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v2: Rename qemu-mips64o32el -> qemu-r5900o32el (Fredrik)
> ---
>  docs/user/main.rst                                | 3 +++
>  default-configs/targets/r5900o32el-linux-user.mak | 7 +++++++
>  2 files changed, 10 insertions(+)
>  create mode 100644 default-configs/targets/r5900o32el-linux-user.mak

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~