Subject: Re: [PATCH 2/2] KVM: arm/arm64: Print the EC hex value with its exact width

From: Marc Zyngier <[email-masked]>
Date: Wed, 11 Sep 2019 16:35:27 +0100

On Wed, 11 Sep 2019 10:19:05 +0100,
Zenghui Yu <[email-masked]> wrote:
> 
> Hi Marc,
> 
> On 2019/9/11 16:31, Marc Zyngier wrote:
> > On Wed, 11 Sep 2019 03:33:36 +0100,
> > Zenghui Yu <[email-masked]> wrote:
> >> 
> >> EC is the bits [31:26] of ESR_ELx on arm64 (HSR on arm). Print the
> >> hex value with its exact width (8).
> >> 
> >> Signed-off-by: Zenghui Yu <[email-masked]>
> >> ---
> >>   virt/kvm/arm/trace.h | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >> 
> >> diff --git a/virt/kvm/arm/trace.h b/virt/kvm/arm/trace.h
> >> index 204d210d01c2..022b0a060034 100644
> >> --- a/virt/kvm/arm/trace.h
> >> +++ b/virt/kvm/arm/trace.h
> >> @@ -42,7 +42,7 @@ TRACE_EVENT(kvm_exit,
> >>   		__entry->vcpu_pc		= vcpu_pc;
> >>   	),
> >>   -	TP_printk("%s: HSR_EC: 0x%04x (%s), PC: 0x%08lx",
> >> +	TP_printk("%s: HSR_EC: 0x%02x (%s), PC: 0x%08lx",
> >>   		  __print_symbolic(__entry->ret, kvm_arm_exception_type),
> >>   		  __entry->esr_ec,
> >>   		  __print_symbolic(__entry->esr_ec, kvm_arm_exception_class),
> > 
> > Although you're right that 8 bits ought to be enough, this is a change
> > to the output of the tracepoint, which userspace could (does?) parse.
> 
> Well-written userspace tools should only parse the low 8 bits (if they
> do parse). But even if the high bits are parsed, they're always 0.
> So I don't think this change will have a bad impact on userspace.

The problem is that we don't only cater for well written SW. We also
support the broken stuff, unfortunately.

Thanks,

	M.

-- 
Jazz is not dead, it just smells funny.

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel