Re: [PATCH] KVM: PPC: powerpc: Add count cache flush parameters to kvmppc_get_cpu_char()

Paul Mackerras
2019-03-01T08:01:13Z

On Fri, Mar 01, 2019 at 05:52:51PM +1100, Michael Ellerman wrote:
> Suraj Jitindar Singh <sjitindarsingh@gmail.com> writes:
>
> > Add KVM_PPC_CPU_CHAR_BCCTR_FLUSH_ASSIST &
> > KVM_PPC_CPU_BEHAV_FLUSH_COUNT_CACHE to the characteristics returned from
> > the H_GET_CPU_CHARACTERISTICS H-CALL, as queried from either the
> > hypervisor or the device tree.
> >
> > Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
> > ---
> > arch/powerpc/include/uapi/asm/kvm.h | 2 ++
> > arch/powerpc/kvm/powerpc.c | 18 ++++++++++++++----
> > 2 files changed, 16 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
> > index b90a7d154180..a99dcac91e50 100644
> > --- a/arch/powerpc/kvm/powerpc.c
> > +++ b/arch/powerpc/kvm/powerpc.c
> > @@ -2251,12 +2253,16 @@ static int kvmppc_get_cpu_char(struct kvm_ppc_cpu_char *cp)
> > if (have_fw_feat(fw_features, "enabled",
> > "fw-count-cache-disabled"))
> > cp->character |= KVM_PPC_CPU_CHAR_COUNT_CACHE_DIS;
> > + if (have_fw_feat(fw_features, "enabled",
> > + "fw-count-cache-flush-bcctr2,0,0"))
>
> I don't think there's any reason KVM needs to be querying the device
> tree directly, is there?
>
> Can't it just use the security flags (security_features.h), that are
> initialised by the powernv platform code based on the device tree.

My recollection is that the security flags didn't have all the
information we need. It's possible that's no longer true.

I merged the patch and sent a pull request to Paolo; using the same
pattern as the existing code made it a low-risk patch and I wanted to
get it in for 5.1. For 5.2 we can look at changing it over if you
like.

Paul.