On 8/19/21 6:50 AM, Richard Henderson wrote:
On 8/19/21 3:40 AM, Peter Maydell wrote:
      uint32_t insn;
      bool is_16bit;

-    if (arm_pre_translate_insn(dc)) {
+    if (arm_check_ss_active(dc) || arm_check_kernelpage(dc)) {


Is it not possible to get a misaligned PC in the Thumb case ?

No.  The thumb bit is always removed, leaving all pc aligned mod 2.
Both BXWritePC and BranchWritePC do this, as do we in gen_bx and store_reg.

Do you think it's worth an assert here to make sure we never miss a case? I did an audit of the exception code and it looks like we mask everything correctly there, but...


r~


Reply via email to