[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH 0/3] target-arm: Fix IL in syndromes for FP and co
Re: [Qemu-arm] [PATCH 0/3] target-arm: Fix IL in syndromes for FP and copro traps
Mon, 8 Feb 2016 13:17:38 +0000
On 5 February 2016 at 14:37, Peter Maydell <address@hidden> wrote:
> This series corrects a bug I noticed while reading the code.
> In syndrome register values, the IL bit indicates the instruction
> length, and is 1 for 4-byte instructions and 0 for 2-byte
> instructions. All A64 and A32 instructions are 4-byte, but Thumb
> instructions may be either 2 or 4 bytes long. Unfortunately we named
> the parameter to the syn_* functions for constructing syndromes
> "is_thumb", which falsely implies that it should be set for all Thumb
> instructions, rather than only the 16-bit ones.
> Fix the parameter names to a less confusing "is_16bit", and
> correct the places where we should be passing in 'false' rather
> than 's->thumb' for syndrome construction, which are the
> coprocessor, VFP and Neon instruction traps (all these are always
> 32-bit for Thumb).
> The calls to syn_aa32_svc() and syn_aa32_bkpt() correctly still
> use s->thumb, because for SVC and BKPT the Thumb encoding is 16
> bits but the ARM encoding is 32 bits.
Applied to target-arm.next, thanks.