Messages in this thread | | | Subject | Re: [PATCH v6 08/16] KVM: x86/pmu: Add IA32_DS_AREA MSR emulation to support guest DS | From | "Xu, Like" <> | Date | Wed, 12 May 2021 13:16:09 +0800 |
| |
On 2021/5/11 10:42, Like Xu wrote: > @@ -3908,7 +3911,7 @@ static struct perf_guest_switch_msr *intel_guest_get_msrs(int *nr, void *data) > .guest = intel_ctrl & (~cpuc->intel_ctrl_host_mask | ~pebs_mask), > }; > > - if (!x86_pmu.pebs) > + if (!pmu || !x86_pmu.pebs_vmx) > return arr; > > /* > @@ -3931,6 +3934,12 @@ static struct perf_guest_switch_msr *intel_guest_get_msrs(int *nr, void *data) > if (!x86_pmu.pebs_vmx) > return arr; > > + arr[(*nr)++] = (struct perf_guest_switch_msr){ > + .msr = MSR_IA32_DS_AREA, > + .host = (unsigned long)ds, > + .guest = pmu->ds_area, > + }; > + > arr[*nr] = (struct perf_guest_switch_msr){ > .msr = MSR_IA32_PEBS_ENABLE, > .host = cpuc->pebs_enabled & ~cpuc->intel_ctrl_guest_mask,
Sorry, this part should be:
@@ -3928,9 +3931,15 @@ static struct perf_guest_switch_msr *intel_guest_get_msrs(int *nr, void *data) return arr; }
- if (!x86_pmu.pebs_vmx) + if (!pmu || !x86_pmu.pebs_vmx) return arr;
+ arr[(*nr)++] = (struct perf_guest_switch_msr){ + .msr = MSR_IA32_DS_AREA, + .host = (unsigned long)ds, + .guest = pmu->ds_area, + }; + arr[*nr] = (struct perf_guest_switch_msr){ .msr = MSR_IA32_PEBS_ENABLE, .host = cpuc->pebs_enabled & ~cpuc->intel_ctrl_guest_mask,
| |