On 03/29/2012 11:17 PM, Jia Liu wrote:
> This is MIPS ASE DSP instructions support for QEMU. These instructions
> are grouped according to "Chapter 4. MIPS DSP ASE Instruction Summary"
> in MIPS ASE DSP manual [1].
> 
> [1] MIPS32® Architecture for Programmers VolumeIV-e: The MIPS® DSP
>     Application-Specific Extension to the MIPS32®Architecture
>     
> http://www.mips.com/products/product-materials/processor/mips-architecture/

Any plans to support the mips64 version?

It also occurred to me to actually try this code, which shows you haven't
thought about mips64 at all.  Configure with --enable-debug:


>   CC    mips64-softmmu/translate.o
> /home/rth/work/qemu/qemu/target-mips/translate.c: In function 
> 'gen_compute_branch':
> /home/rth/work/qemu/qemu/target-mips/translate.c:2989:9: error: incompatible 
> type for argument 1 of 'tcg_gen_andi_i32'
> /home/rth/work/qemu/qemu/tcg/tcg-op.h:521:20: note: expected 'TCGv_i32' but 
> argument is of type 'TCGv_i64'
> /home/rth/work/qemu/qemu/target-mips/translate.c:2989:9: error: incompatible 
> type for argument 2 of 'tcg_gen_andi_i32'
> /home/rth/work/qemu/qemu/tcg/tcg-op.h:521:20: note: expected 'TCGv_i32' but 
> argument is of type 'TCGv_i64'


All of your helpers, whereever they receive or return a register value, need to 
use
type target_ulong and the DEF_HELPER lines need to use "tl".  All of the mips32
helpers you've written so far that return values need to make sure to 
sign-extend
their results from 32-bits.

With that, the compilation errors should go away, and you should produce correct
results for the subset of the mips64 dsp ase that overlaps with the mips32 dsp 
ase. 


r~

Reply via email to