[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH v3 26/50] target/arm: call qemu_plugi
Re: [Qemu-arm] [Qemu-devel] [PATCH v3 26/50] target/arm: call qemu_plugin_insn_append
Mon, 17 Jun 2019 15:28:55 -0700
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0
On 6/14/19 10:11 AM, Alex Bennée wrote:
> From: "Emilio G. Cota" <address@hidden>
> I considered using translator_ld* from arm_ldl_code
> et al. However, note that there's a helper that also calls
> arm_ldl_code, so we'd have to change that caller.
We should in fact change that caller.
Unfortunately, the SVC immediate copied into env->exception.syndrome is
truncated to 16 bits, which means that the aa32 0x123456 won't match.
However, it would be easy enough to create new EXCP_SWI_SEMIHOST, generate it
within translate*.c when the svc immediate matches. Everywhere except
check_for_semihosting(), we'd treat the two exceptions the same.
The BKPT instruction is only used for semihosting by thumb (and maybe only
v7m?). The exception syndrome does contain the entire 8-bit immediate, however
for consistency it might be convenient to create an EXCP_BKPT_SEMIHOST so that
all of the checks are always done at translation time.