Re: [PATCH v2 03/15] KVM: VMX: Rename "vmx_find_msr_index" to "vmx_find_loadstore_msr_slot"

From: Paolo Bonzini
Date: Fri Sep 25 2020 - 18:04:55 EST


On 23/09/20 20:03, Sean Christopherson wrote:
> Add "loadstore" to vmx_find_msr_index() to differentiate it from the so
> called shared MSRs helpers (which will soon be renamed), and replace
> "index" with "slot" to better convey that the helper returns slot in the
> array, not the MSR index (the value that gets stuffed into ECX).
>
> No functional change intended.

"slot" is definitely better, I'll adjust SVM to use it too.

Paolo

> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---
> arch/x86/kvm/vmx/nested.c | 16 ++++++++--------
> arch/x86/kvm/vmx/vmx.c | 10 +++++-----
> arch/x86/kvm/vmx/vmx.h | 2 +-
> 3 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
> index f818a406302a..87e5d606582e 100644
> --- a/arch/x86/kvm/vmx/nested.c
> +++ b/arch/x86/kvm/vmx/nested.c
> @@ -938,11 +938,11 @@ static bool nested_vmx_get_vmexit_msr_value(struct kvm_vcpu *vcpu,
> * VM-exit in L0, use the more accurate value.
> */
> if (msr_index == MSR_IA32_TSC) {
> - int index = vmx_find_msr_index(&vmx->msr_autostore.guest,
> - MSR_IA32_TSC);
> + int i = vmx_find_loadstore_msr_slot(&vmx->msr_autostore.guest,
> + MSR_IA32_TSC);
>
> - if (index >= 0) {
> - u64 val = vmx->msr_autostore.guest.val[index].value;
> + if (i >= 0) {
> + u64 val = vmx->msr_autostore.guest.val[i].value;
>
> *data = kvm_read_l1_tsc(vcpu, val);
> return true;
> @@ -1031,12 +1031,12 @@ static void prepare_vmx_msr_autostore_list(struct kvm_vcpu *vcpu,
> struct vcpu_vmx *vmx = to_vmx(vcpu);
> struct vmx_msrs *autostore = &vmx->msr_autostore.guest;
> bool in_vmcs12_store_list;
> - int msr_autostore_index;
> + int msr_autostore_slot;
> bool in_autostore_list;
> int last;
>
> - msr_autostore_index = vmx_find_msr_index(autostore, msr_index);
> - in_autostore_list = msr_autostore_index >= 0;
> + msr_autostore_slot = vmx_find_loadstore_msr_slot(autostore, msr_index);
> + in_autostore_list = msr_autostore_slot >= 0;
> in_vmcs12_store_list = nested_msr_store_list_has_msr(vcpu, msr_index);
>
> if (in_vmcs12_store_list && !in_autostore_list) {
> @@ -1057,7 +1057,7 @@ static void prepare_vmx_msr_autostore_list(struct kvm_vcpu *vcpu,
> autostore->val[last].index = msr_index;
> } else if (!in_vmcs12_store_list && in_autostore_list) {
> last = --autostore->nr;
> - autostore->val[msr_autostore_index] = autostore->val[last];
> + autostore->val[msr_autostore_slot] = autostore->val[last];
> }
> }
>
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index e99f3bbfa6e9..35291fd90ca0 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -824,7 +824,7 @@ static void clear_atomic_switch_msr_special(struct vcpu_vmx *vmx,
> vm_exit_controls_clearbit(vmx, exit);
> }
>
> -int vmx_find_msr_index(struct vmx_msrs *m, u32 msr)
> +int vmx_find_loadstore_msr_slot(struct vmx_msrs *m, u32 msr)
> {
> unsigned int i;
>
> @@ -858,7 +858,7 @@ static void clear_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr)
> }
> break;
> }
> - i = vmx_find_msr_index(&m->guest, msr);
> + i = vmx_find_loadstore_msr_slot(&m->guest, msr);
> if (i < 0)
> goto skip_guest;
> --m->guest.nr;
> @@ -866,7 +866,7 @@ static void clear_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr)
> vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, m->guest.nr);
>
> skip_guest:
> - i = vmx_find_msr_index(&m->host, msr);
> + i = vmx_find_loadstore_msr_slot(&m->host, msr);
> if (i < 0)
> return;
>
> @@ -925,9 +925,9 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr,
> wrmsrl(MSR_IA32_PEBS_ENABLE, 0);
> }
>
> - i = vmx_find_msr_index(&m->guest, msr);
> + i = vmx_find_loadstore_msr_slot(&m->guest, msr);
> if (!entry_only)
> - j = vmx_find_msr_index(&m->host, msr);
> + j = vmx_find_loadstore_msr_slot(&m->host, msr);
>
> if ((i < 0 && m->guest.nr == MAX_NR_LOADSTORE_MSRS) ||
> (j < 0 && m->host.nr == MAX_NR_LOADSTORE_MSRS)) {
> diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h
> index 9a418c274880..26887082118d 100644
> --- a/arch/x86/kvm/vmx/vmx.h
> +++ b/arch/x86/kvm/vmx/vmx.h
> @@ -353,7 +353,7 @@ void vmx_set_virtual_apic_mode(struct kvm_vcpu *vcpu);
> struct shared_msr_entry *find_msr_entry(struct vcpu_vmx *vmx, u32 msr);
> void pt_update_intercept_for_msr(struct vcpu_vmx *vmx);
> void vmx_update_host_rsp(struct vcpu_vmx *vmx, unsigned long host_rsp);
> -int vmx_find_msr_index(struct vmx_msrs *m, u32 msr);
> +int vmx_find_loadstore_msr_slot(struct vmx_msrs *m, u32 msr);
> void vmx_ept_load_pdptrs(struct kvm_vcpu *vcpu);
>
> #define POSTED_INTR_ON 0
>