[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH 6/9] target/arm: Pull Thumb insn word
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 6/9] target/arm: Pull Thumb insn word loads up to top level |
Date: |
Wed, 11 Oct 2017 10:55:30 +0100 |
On 11 October 2017 at 03:18, Richard Henderson
<address@hidden> wrote:
> On 10/09/2017 06:48 AM, Peter Maydell wrote:
>> + if ((insn >> 11) == 0x1e && (s->pc < s->next_page_start - 3)) {
>> + /* 0b1111_0xxx_xxxx_xxxx : BL/BLX prefix, and the suffix
>> + * is not on the next page; we merge this into a 32-bit
>> + * insn.
>> + */
>> + return false;
>> + }
>> + /* 0b1110_1xxx_xxxx_xxxx : BLX suffix (or UNDEF);
>> + * 0b1111_1xxx_xxxx_xxxx : BL suffix;
>> + * 0b1111_0xxx_xxxx_xxxx : BL/BLX prefix on the end of a page
>> + * -- handle as single 16 bit insn
>> + */
>
> I really had to search to find docs for this. I suspect it's quite clear in
> v5
> manuals, but I didn't have one handy and arm.com seems to have dropped
> everything before v6M. However, I did see a footnote in v7M that explained.
Yes, it's in the ARMv5 and v6 ARM, which you can get from here:
https://developer.arm.com/docs/ddi0100/latest/armv5-architecture-reference-manual
thanks
-- PMM
- [Qemu-arm] [PATCH 0/9] v8M: BLXNS, SG, secure function return, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 7/9] target-arm: Simplify insn_crosses_page(), Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 6/9] target/arm: Pull Thumb insn word loads up to top level, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 9/9] target/arm: Implement SG instruction corner cases, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 3/9] target/arm: Implement BLXNS, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 5/9] target-arm: Don't check for "Thumb2 or M profile" for not-Thumb1, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 2/9] target/arm: Implement SG instruction, Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 1/9] target/arm: Add M profile secure MMU index values to get_a32_user_mem_index(), Peter Maydell, 2017/10/09
- [Qemu-arm] [PATCH 4/9] target/arm: Implement secure function return, Peter Maydell, 2017/10/09