Re: [PATCH v2 3/4] Add support for AMD Core Perf Extension in guest

From: Natarajan, Janakarajan
Date: Thu Nov 16 2017 - 13:01:05 EST

On 11/16/2017 11:25 AM, Borislav Petkov wrote:
On Thu, Nov 16, 2017 at 11:13:47AM -0600, Natarajan, Janakarajan wrote:
On 11/15/2017 1:07 PM, Borislav Petkov wrote:
On Wed, Nov 15, 2017 at 01:04:03PM -0600, Natarajan, Janakarajan wrote:
So, when the amd_pmu_init is called, a query to guest_cpuid_family() gives a
value of -1.
And that is because...? And it can be fixed to give the proper guest family I
presume ...?
Qemu initially creates a vcpu with KVM_CREATE_VCPU which in kvm initializes
the pmu. Later on
the cpuid is set using KVM_SET_CPUID2 which sets all the cpuid entries in
kvm and the pmu refresh is called.
That doesn't answer my questions above.

Ah my apologies. So when the pmu is initialized the cpuid entries aren't available then. We'll have to wait until the pmu
refresh is called to get the family value. So there is no place to fix it. The setting of the nr_counters based
on the family will have to be done in the amd_pmu_refresh() and not in the amd_pmu_init().