On 5 February 2016 at 14:37, Peter Maydell <peter.mayd...@linaro.org> 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. -- PMM