mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-25 13:08:56 +00:00
target-arm: Improve semihosting debug prints
Print semihosting debugging information before the do_arm_semihosting() call so that angel_SWIreason_ReportException, which causes the function to not return, gets the same debug prints as other semihosting calls. Also print out the semihosting call number. Backports commit 205ace55ffff77964e50af08c99639ec47db53f6 from qemu
This commit is contained in:
parent
11cfddad05
commit
eabacd7daf
1 changed files with 9 additions and 3 deletions
|
@ -4608,8 +4608,10 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs)
|
|||
nr = arm_lduw_code(env, env->regs[15], env->bswap_code) & 0xff;
|
||||
if (nr == 0xab) {
|
||||
env->regs[15] += 2;
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"...handling as semihosting call 0x%x\n",
|
||||
env->regs[0]);
|
||||
env->regs[0] = do_arm_semihosting(env);
|
||||
qemu_log_mask(CPU_LOG_INT, "...handled as semihosting call\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -4931,8 +4933,10 @@ void arm_cpu_do_interrupt(CPUState *cs)
|
|||
if (((mask == 0x123456 && !env->thumb)
|
||||
|| (mask == 0xab && env->thumb))
|
||||
&& (env->uncached_cpsr & CPSR_M) != ARM_CPU_MODE_USR) {
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"...handling as semihosting call 0x%x\n",
|
||||
env->regs[0]);
|
||||
env->regs[0] = do_arm_semihosting(env);
|
||||
qemu_log_mask(CPU_LOG_INT, "...handled as semihosting call\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -4951,8 +4955,10 @@ void arm_cpu_do_interrupt(CPUState *cs)
|
|||
if (mask == 0xab
|
||||
&& (env->uncached_cpsr & CPSR_M) != ARM_CPU_MODE_USR) {
|
||||
env->regs[15] += 2;
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"...handling as semihosting call 0x%x\n",
|
||||
env->regs[0]);
|
||||
env->regs[0] = do_arm_semihosting(env);
|
||||
qemu_log_mask(CPU_LOG_INT, "...handled as semihosting call\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue