qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/4] linux-user/mips64: Support o32 ABI syscalls


From: Fredrik Noring
Subject: Re: [PATCH 2/4] linux-user/mips64: Support o32 ABI syscalls
Date: Thu, 17 Dec 2020 18:20:45 +0100

On Thu, Dec 17, 2020 at 05:10:24PM +0100, Philippe Mathieu-Daudé wrote:
> On 12/17/20 11:40 AM, Laurent Vivier wrote:
> > Le 19/11/2020 à 17:17, Philippe Mathieu-Daudé a écrit :
> >> o32 ABI syscalls start at offset 4000.
> >>
> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> >> ---
> >>  linux-user/mips64/syscall_nr.h | 5 ++++-
> >>  1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/linux-user/mips64/syscall_nr.h 
> >> b/linux-user/mips64/syscall_nr.h
> >> index 672f2fa51cb..6579421fa63 100644
> >> --- a/linux-user/mips64/syscall_nr.h
> >> +++ b/linux-user/mips64/syscall_nr.h
> >> @@ -1,4 +1,7 @@
> >> -#ifdef TARGET_ABI_MIPSN32
> >> +#if defined(TARGET_ABI_MIPSO32)
> >> +#define TARGET_SYSCALL_OFFSET 4000
> > 
> > The value of the offset is hardcoded in linux-user/mips/meson.build, so 
> > either you remove
> > TARGET_SYSCALL_OFFSET here or you update meson.build to use it.
> 
> I don't understand what this Meson rule does, as this
> doesn't work without this patch...
> 
> You can download PS2 64-bit O32 binaries from 2002 (before
> the official MIPS TLS ABI) there:
> https://sourceforge.net/projects/kernelloader/files/

These look rather like 128 bits, as there are R5900 MMIs. For instance,
one can find LQ, SQ, PEXTLB, PEXTLW and so on in /lib/ld.so in
ps2linux_live_v5_pal_netsurf_usb.7z.

There may be other surprises. R5900 Linux 2.x kernels are not IEEE 754
compatible, as opposed to both 5.x kernels and QEMU, for instance.

I would suggest compiling tests with a recent GCC.

Fredrik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]