On 9/12/24 21:36, phil@philjordan.eu wrote:
> From: Phil Dennis-Jordan <phil@philjordan.eu>
>
> Printing a sequence of bytes as hex with leading zeroes omitted just looks odd.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
> Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
> ---
> target/i386/hvf/x86_decode.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/i386/hvf/x86_decode.c b/target/i386/hvf/x86_decode.c
> index 6c7cfc820f..f8d37f2d53 100644
> --- a/target/i386/hvf/x86_decode.c
> +++ b/target/i386/hvf/x86_decode.c
> @@ -30,7 +30,7 @@ static void decode_invalid(CPUX86State *env, struct x86_decode *decode)
> {
> printf("%llx: failed to decode instruction ", env->eip);
> for (int i = 0; i < decode->opcode_len; i++) {
> - printf("%x ", decode->opcode[i]);
> + printf("%02x ", decode->opcode[i]);
> }
> printf("\n");
Maybe we should use monitor_printf() here?
Or perhaps snprintf it into a buffer, then change this…
> VM_PANIC("decoder failed\n");
… to a VM_PANIC_EX() that also writes out the opcode buffer?