qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] mipsIV support for mips-linux-user


From: Vince Weaver
Subject: Re: [Qemu-devel] mipsIV support for mips-linux-user
Date: Wed, 8 Apr 2009 21:00:42 -0400 (EDT)


Because of this the generated assembly in the debug output
unconditionally generates an illegal instruction exception the first time
a cop1x instruction is executed (in my case, "msub.d")

This instruction is clearly marked as MIPS64 only in the manual.

I'm running MIPSIV compiled o32 binaries.  Even though the binaries
are 32-bits, they are running on a 64-bit enabled OS. (I have actual r12k and r5k machines running Debian Linux. They have 64-bit kernels but 32-bit userspace).

mips-linux-user can run these executables fine if you hack it so that
cop1x instructions are enabled.

Perhaps the proper solution is to run the binaries under mips64-linux-user, but there you run into the 64-bit qemu-linux-user can't load 32-bit ELF files problem. I'm also not sure if mips64-linux-user implements the o32 syscalls.

I think this should be enabled in cpu_reset(), where env->hflags is
setup for user mode.

That's currently what I am doing to enable these binaries to run.

But I am actually concern about the results you get when enabling
MIPS_HFLAG_COP1X. If your program is expecting to have the FPU in 64-bit
mode you may have really strange results. Did you check them?

I'm running the Spec2k benchmarks and the results are as close as can be expected to the actual hardware.

Vince




reply via email to

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