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: Aurelien Jarno
Subject: Re: [Qemu-devel] mipsIV support for mips-linux-user
Date: Thu, 9 Apr 2009 00:17:24 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Mon, Mar 30, 2009 at 01:29:29PM -0400, Vince Weaver wrote:
> On Mon, 30 Mar 2009, Aurelien Jarno wrote:
>
>> Do you have the end of qemu.log when running your code with -d in_asm,op?
>
> The first cop1x instruction happens relatively deep into the program, so  
> the debugging dump is pretty larege.  How far back do you want?
>
> It looks like no matter what cpu option I pick, the HFLAGS is set to  
> 0x0022 (which is only the usermode and FPU flags).
>
> 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've been digging through the qemu mips code, and I can't seem to find  
> where the hflags are set in the usermode case.
>
> The only place that sets the MIPS_HFLAG_COP1X is in exec.h,  
> "compute_hflags()" but that doesn't ever seem to be called if  
> CONFIG_USER_ONLY

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

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?

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net




reply via email to

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