[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] linux-user/mips: Support the n32 ABI for th
From: |
Maciej W. Rozycki |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] linux-user/mips: Support the n32 ABI for the R5900 |
Date: |
Fri, 9 Nov 2018 14:14:10 +0000 (GMT) |
User-agent: |
Alpine 2.21 (LFD 202 2017-01-01) |
On Fri, 9 Nov 2018, Laurent Vivier wrote:
> if you have time, o32 & n32 support needs to be reworked.
>
> We have two binaries qemu-mips and qemu-mipsn32 sharing the same ELF
> mask/magic.
>
> As n32 identifies a kernel ABI version, we should have only one binary
> for qemu-mips and qemu-mipsn32 and the ABI version should be identified
> at runtime as it is done for ARM:
>
> ce4defa062 Arm Linux EABI syscall support.
Are you sure? So is the ARM ABI handled with ce4defa062 64-bit?
The o32 ABI is 32-bit (32-bit GPR width) while n32 is 64-bit (64-bit GPR
width). The correspondence between the i386 ABI and the x86-64 x32 ABI is
analogous to these two ABIs.
How are these x86 ABIs handled WRT the user emulation mode; are they
analogous to the ARM ABIs you've mentioned?
> [I think we can use e_flags for that]
The EF_MIPS_ABI2 `e_flags' bit denotes the n32 ABI. The container format
is ELF32 obviously, because addressing is 32-bit with n32.
> I never did the change because I don't know where to find mipsn32
> binaries to test my changes.
I believe MIPS64 Debian is all n32.
Maciej