|
From: | Richard Henderson |
Subject: | Re: [PATCH v5 52/55] plugins: make howvec plugin more generic |
Date: | Mon, 14 Oct 2019 09:59:52 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 10/14/19 3:49 AM, Alex Bennée wrote: > @@ -190,14 +211,18 @@ static uint64_t * find_counter(struct qemu_plugin_insn > *insn) > uint32_t opcode; > InsnClassExecCount *class = NULL; > > - /* we expect all instructions to by 32 bits for ARM */ > - g_assert(qemu_plugin_insn_size(insn) == 4); > + /* > + * We only match the first 32 bits of the instruction which is > + * fine for most RISCs but a bit limiting for CISC architectures. > + * They would probably benefit from a more tailored plugin. > + * However we can fall back to individual instruction counting. > + */ > opcode = *((uint32_t *)qemu_plugin_insn_data(insn)); This totally ignores the endianness of the host. I'm not keen on reading more than the number of bytes in the insn either... r~
[Prev in Thread] | Current Thread | [Next in Thread] |