On Wed May 8, 2024 at 10:36 PM AEST, Michael Ellerman wrote: > Gautam Menghani <gautam@xxxxxxxxxxxxx> writes: > > PAPR hypervisor has introduced three new counters in the VPA area of > > LPAR CPUs for KVM L2 guest (see [1] for terminology) observability - 2 > > for context switches from host to guest and vice versa, and 1 counter > > for getting the total time spent inside the KVM guest. Add a tracepoint > > that enables reading the counters for use by ftrace/perf. Note that this > > tracepoint is only available for nestedv2 API (i.e, KVM on PowerVM). > ... > > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > > index 8e86eb577eb8..ed69ad58bd02 100644 > > --- a/arch/powerpc/kvm/book3s_hv.c > > +++ b/arch/powerpc/kvm/book3s_hv.c > > @@ -4108,6 +4108,54 @@ static void vcpu_vpa_increment_dispatch(struct kvm_vcpu *vcpu) > > } > > } > > > > +static inline int kvmhv_get_l2_counters_status(void) > > +{ > > + return get_lppaca()->l2_counters_enable; > > +} > > This is breaking the powernv build: [...] All the nested KVM code should really go under CONFIG_PSERIES. Possibly even moved out to its own file. For now maybe you could just ifdef these few functions and replace with noop variants for !PSERIES. Thanks, Nick