arch/powerpc/kvm/trace_book3s.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
From: Gautam Menghani <gautam@linux.ibm.com>
The macro kvm_trace_symbol_exit is used for providing the mappings
for the trap vectors and their names. Add mapping for H_FAC_UNAVAIL so that
trap reason is displayed as string instead of a vector number when using
the kvm_guest_exit tracepoint.
Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
---
v2:
1. Remove the trailing comma after last element
arch/powerpc/kvm/trace_book3s.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/trace_book3s.h b/arch/powerpc/kvm/trace_book3s.h
index 9260ddbd557f..5d272c115331 100644
--- a/arch/powerpc/kvm/trace_book3s.h
+++ b/arch/powerpc/kvm/trace_book3s.h
@@ -28,6 +28,7 @@
{0xea0, "H_VIRT"}, \
{0xf00, "PERFMON"}, \
{0xf20, "ALTIVEC"}, \
- {0xf40, "VSX"}
+ {0xf40, "VSX"}, \
+ {0xf80, "H_FAC_UNAVAIL"}
#endif
--
2.52.0
Thanks Gautam catching this and proposing this patch.
Minor review comments below:
Gautam Menghani <Gautam.Menghani@ibm.com> writes:
> From: Gautam Menghani <gautam@linux.ibm.com>
>
> The macro kvm_trace_symbol_exit is used for providing the mappings
> for the trap vectors and their names. Add mapping for H_FAC_UNAVAIL so that
> trap reason is displayed as string instead of a vector number when using
> the kvm_guest_exit tracepoint.
>
> Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
> ---
> v2:
> 1. Remove the trailing comma after last element
>
> arch/powerpc/kvm/trace_book3s.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kvm/trace_book3s.h b/arch/powerpc/kvm/trace_book3s.h
> index 9260ddbd557f..5d272c115331 100644
> --- a/arch/powerpc/kvm/trace_book3s.h
> +++ b/arch/powerpc/kvm/trace_book3s.h
> @@ -28,6 +28,7 @@
> {0xea0, "H_VIRT"}, \
> {0xf00, "PERFMON"}, \
> {0xf20, "ALTIVEC"}, \
> - {0xf40, "VSX"}
> + {0xf40, "VSX"}, \
> + {0xf80, "H_FAC_UNAVAIL"}
Also add trap of 0x000 indicating "RETURN_TO_HOST"
Also sychronize the contents of the proposed changes for this header with the
libtraceevent header file tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
>
> #endif
> --
> 2.52.0
>
>
With above minor fixes done, feel free to add:
Reviewed-by: Vaibhav Jain (IBM) <vaibhav@linux.ibm.com>
--
Cheers
~ Vaibhav
On 2026/04/28 02:15 PM, Gautam Menghani wrote:
> From: Gautam Menghani <gautam@linux.ibm.com>
>
> The macro kvm_trace_symbol_exit is used for providing the mappings
> for the trap vectors and their names. Add mapping for H_FAC_UNAVAIL so that
> trap reason is displayed as string instead of a vector number when using
> the kvm_guest_exit tracepoint.
>
> Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
> ---
> v2:
> 1. Remove the trailing comma after last element
>
> arch/powerpc/kvm/trace_book3s.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kvm/trace_book3s.h b/arch/powerpc/kvm/trace_book3s.h
> index 9260ddbd557f..5d272c115331 100644
> --- a/arch/powerpc/kvm/trace_book3s.h
> +++ b/arch/powerpc/kvm/trace_book3s.h
> @@ -28,6 +28,7 @@
> {0xea0, "H_VIRT"}, \
> {0xf00, "PERFMON"}, \
> {0xf20, "ALTIVEC"}, \
> - {0xf40, "VSX"}
> + {0xf40, "VSX"}, \
> + {0xf80, "H_FAC_UNAVAIL"}
While we are at it, should we also consider adding 0xf60 for Facility
Unavailable? Anyways, LGTM.
Reviewed-by: Amit Machhiwal <amachhiw@linux.ibm.com>
>
> #endif
> --
> 2.52.0
>
>
On Thu, May 07, 2026 at 03:12:29PM +0530, Amit Machhiwal wrote:
> On 2026/04/28 02:15 PM, Gautam Menghani wrote:
> > From: Gautam Menghani <gautam@linux.ibm.com>
> >
> > The macro kvm_trace_symbol_exit is used for providing the mappings
> > for the trap vectors and their names. Add mapping for H_FAC_UNAVAIL so that
> > trap reason is displayed as string instead of a vector number when using
> > the kvm_guest_exit tracepoint.
> >
> > Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
> > ---
> > v2:
> > 1. Remove the trailing comma after last element
> >
> > arch/powerpc/kvm/trace_book3s.h | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/powerpc/kvm/trace_book3s.h b/arch/powerpc/kvm/trace_book3s.h
> > index 9260ddbd557f..5d272c115331 100644
> > --- a/arch/powerpc/kvm/trace_book3s.h
> > +++ b/arch/powerpc/kvm/trace_book3s.h
> > @@ -28,6 +28,7 @@
> > {0xea0, "H_VIRT"}, \
> > {0xf00, "PERFMON"}, \
> > {0xf20, "ALTIVEC"}, \
> > - {0xf40, "VSX"}
> > + {0xf40, "VSX"}, \
> > + {0xf80, "H_FAC_UNAVAIL"}
>
> While we are at it, should we also consider adding 0xf60 for Facility
> Unavailable? Anyways, LGTM.
0xf60 is handled by OS when problem state tries to use a facility which
is not available. So we won't exit to host for this.
Thanks,
Gautam
On 28/04/26 2:15 pm, Gautam Menghani wrote:
> From: Gautam Menghani <gautam@linux.ibm.com>
>
> The macro kvm_trace_symbol_exit is used for providing the mappings
> for the trap vectors and their names. Add mapping for H_FAC_UNAVAIL so that
> trap reason is displayed as string instead of a vector number when using
> the kvm_guest_exit tracepoint.
>
> Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
> ---
> v2:
> 1. Remove the trailing comma after last element
>
> arch/powerpc/kvm/trace_book3s.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kvm/trace_book3s.h b/arch/powerpc/kvm/trace_book3s.h
> index 9260ddbd557f..5d272c115331 100644
> --- a/arch/powerpc/kvm/trace_book3s.h
> +++ b/arch/powerpc/kvm/trace_book3s.h
> @@ -28,6 +28,7 @@
> {0xea0, "H_VIRT"}, \
> {0xf00, "PERFMON"}, \
> {0xf20, "ALTIVEC"}, \
> - {0xf40, "VSX"}
> + {0xf40, "VSX"}, \
> + {0xf80, "H_FAC_UNAVAIL"}
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>
> #endif
© 2016 - 2026 Red Hat, Inc.