[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-mips: fix decoding of microMIPS POOL32Ax
From: |
Leon Alrae |
Subject: |
Re: [Qemu-devel] [PATCH] target-mips: fix decoding of microMIPS POOL32Axf instructions |
Date: |
Mon, 5 Aug 2013 08:41:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0 |
On 03/08/13 23:01, Aurelien Jarno wrote:
> On Thu, Aug 01, 2013 at 11:02:27AM +0100, Leon Alrae wrote:
>> These are not DSP instructions, thus there is no "ac" field.
>>
>> For more details please refer to instruction encoding of
>> MULT, MULTU, MADD, MADDU, MSUB, MSUBU, MFHI, MFLO, MTHI, MTLO in
>> MIPS Architecture for Programmers Volume II-B: The microMIPS32 Instruction
>> Set
>
> These instructions have both a non DSP version without the "ac" field,
> and a DSP version with the "ac" field. The encoding of the "ac" field is
> done in bits 14 and 15, so the current QEMU code is correct.
>
> Please refer to the MIPS32® Architecture Manual Volume IV-e: The
> MIPS® DSP Application-Specific Extension to the microMIPS32®
> Architecture (document MD00764).
>
Please note that the patch modifies non-DSP version of listed
instructions, where "ac" field doesn't exist. In this case reading bits
14 and 15 and passing it as acc argument to gen_muldiv() or gen_HILO()
is not correct. If those bits are not 0 (and for most of the listed
instructions this is true) then check_dsp() is called which will cause
an exception if DSP is not supported / disabled.