[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: |
Richard Henderson |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 6/9] target/arm: Pull Thumb insn word loads up to top level |
Date: |
Tue, 10 Oct 2017 19:18:42 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
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.
But, everything appears to be in order. It's a nice cleanup.
Reviewed-by: Richard Henderson <address@hidden>
r~
- [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
- Re: [Qemu-arm] [Qemu-devel] [PATCH 6/9] target/arm: Pull Thumb insn word loads up to top level,
Richard Henderson <=
- [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