Message ID | 20191015164033.87276-2-xiaoyao.li@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Refactor vcpu creation flow of x86 arch | expand |
On 10/15/2019 09:40 AM, Xiaoyao Li wrote: > Rename {vmx,nested_vmx}_vcpu_setup to {vmx,nested_vmx}_vmcs_setup, > to match what they really do. > > No functional change. > > Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> > --- > arch/x86/kvm/vmx/nested.c | 2 +- > arch/x86/kvm/vmx/nested.h | 2 +- > arch/x86/kvm/vmx/vmx.c | 9 +++------ > 3 files changed, 5 insertions(+), 8 deletions(-) > > diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c > index 5e231da00310..7935422d311f 100644 > --- a/arch/x86/kvm/vmx/nested.c > +++ b/arch/x86/kvm/vmx/nested.c > @@ -5768,7 +5768,7 @@ static int vmx_set_nested_state(struct kvm_vcpu *vcpu, > return ret; > } > > -void nested_vmx_vcpu_setup(void) > +void nested_vmx_vmcs_setup(void) > { > if (enable_shadow_vmcs) { > vmcs_write64(VMREAD_BITMAP, __pa(vmx_vmread_bitmap)); > diff --git a/arch/x86/kvm/vmx/nested.h b/arch/x86/kvm/vmx/nested.h > index 187d39bf0bf1..2be1ba7482c9 100644 > --- a/arch/x86/kvm/vmx/nested.h > +++ b/arch/x86/kvm/vmx/nested.h > @@ -11,7 +11,7 @@ void nested_vmx_setup_ctls_msrs(struct nested_vmx_msrs *msrs, u32 ept_caps, > bool apicv); > void nested_vmx_hardware_unsetup(void); > __init int nested_vmx_hardware_setup(int (*exit_handlers[])(struct kvm_vcpu *)); > -void nested_vmx_vcpu_setup(void); > +void nested_vmx_vmcs_setup(void); > void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu); > int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool from_vmentry); > bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 exit_reason); > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index e660e28e9ae0..58b77a882426 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -4161,15 +4161,12 @@ static void ept_set_mmio_spte_mask(void) > > #define VMX_XSS_EXIT_BITMAP 0 > > -/* > - * Sets up the vmcs for emulated real mode. > - */ > -static void vmx_vcpu_setup(struct vcpu_vmx *vmx) > +static void vmx_vmcs_setup(struct vcpu_vmx *vmx) > { > int i; > > if (nested) > - nested_vmx_vcpu_setup(); > + nested_vmx_vmcs_setup(); > > if (cpu_has_vmx_msr_bitmap()) > vmcs_write64(MSR_BITMAP, __pa(vmx->vmcs01.msr_bitmap)); > @@ -6777,7 +6774,7 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) > cpu = get_cpu(); > vmx_vcpu_load(&vmx->vcpu, cpu); > vmx->vcpu.cpu = cpu; > - vmx_vcpu_setup(vmx); > + vmx_vmcs_setup(vmx); > vmx_vcpu_put(&vmx->vcpu); > put_cpu(); > if (cpu_need_virtualize_apic_accesses(&vmx->vcpu)) { May be we should rename vmx_vcpu_reset() to vmx_vmcs_reset() as well ?
On 10/16/2019 6:05 AM, Krish Sadhukhan wrote: > > > On 10/15/2019 09:40 AM, Xiaoyao Li wrote: >> Rename {vmx,nested_vmx}_vcpu_setup to {vmx,nested_vmx}_vmcs_setup, >> to match what they really do. >> >> No functional change. >> >> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> >> --- >> arch/x86/kvm/vmx/nested.c | 2 +- >> arch/x86/kvm/vmx/nested.h | 2 +- >> arch/x86/kvm/vmx/vmx.c | 9 +++------ >> 3 files changed, 5 insertions(+), 8 deletions(-) >> >> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c >> index 5e231da00310..7935422d311f 100644 >> --- a/arch/x86/kvm/vmx/nested.c >> +++ b/arch/x86/kvm/vmx/nested.c >> @@ -5768,7 +5768,7 @@ static int vmx_set_nested_state(struct kvm_vcpu >> *vcpu, >> return ret; >> } >> -void nested_vmx_vcpu_setup(void) >> +void nested_vmx_vmcs_setup(void) >> { >> if (enable_shadow_vmcs) { >> vmcs_write64(VMREAD_BITMAP, __pa(vmx_vmread_bitmap)); >> diff --git a/arch/x86/kvm/vmx/nested.h b/arch/x86/kvm/vmx/nested.h >> index 187d39bf0bf1..2be1ba7482c9 100644 >> --- a/arch/x86/kvm/vmx/nested.h >> +++ b/arch/x86/kvm/vmx/nested.h >> @@ -11,7 +11,7 @@ void nested_vmx_setup_ctls_msrs(struct >> nested_vmx_msrs *msrs, u32 ept_caps, >> bool apicv); >> void nested_vmx_hardware_unsetup(void); >> __init int nested_vmx_hardware_setup(int (*exit_handlers[])(struct >> kvm_vcpu *)); >> -void nested_vmx_vcpu_setup(void); >> +void nested_vmx_vmcs_setup(void); >> void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu); >> int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool >> from_vmentry); >> bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 exit_reason); >> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c >> index e660e28e9ae0..58b77a882426 100644 >> --- a/arch/x86/kvm/vmx/vmx.c >> +++ b/arch/x86/kvm/vmx/vmx.c >> @@ -4161,15 +4161,12 @@ static void ept_set_mmio_spte_mask(void) >> #define VMX_XSS_EXIT_BITMAP 0 >> -/* >> - * Sets up the vmcs for emulated real mode. >> - */ >> -static void vmx_vcpu_setup(struct vcpu_vmx *vmx) >> +static void vmx_vmcs_setup(struct vcpu_vmx *vmx) >> { >> int i; >> if (nested) >> - nested_vmx_vcpu_setup(); >> + nested_vmx_vmcs_setup(); >> if (cpu_has_vmx_msr_bitmap()) >> vmcs_write64(MSR_BITMAP, __pa(vmx->vmcs01.msr_bitmap)); >> @@ -6777,7 +6774,7 @@ static struct kvm_vcpu *vmx_create_vcpu(struct >> kvm *kvm, unsigned int id) >> cpu = get_cpu(); >> vmx_vcpu_load(&vmx->vcpu, cpu); >> vmx->vcpu.cpu = cpu; >> - vmx_vcpu_setup(vmx); >> + vmx_vmcs_setup(vmx); >> vmx_vcpu_put(&vmx->vcpu); >> put_cpu(); >> if (cpu_need_virtualize_apic_accesses(&vmx->vcpu)) { > > May be we should rename vmx_vcpu_reset() to vmx_vmcs_reset() as well ? Not really. vmx_vcpu_reset() not only resets vmcs but also the emulated field of vmx vcpu.
On 10/15/19 6:27 PM, Xiaoyao Li wrote: > On 10/16/2019 6:05 AM, Krish Sadhukhan wrote: >> >> >> On 10/15/2019 09:40 AM, Xiaoyao Li wrote: >>> Rename {vmx,nested_vmx}_vcpu_setup to {vmx,nested_vmx}_vmcs_setup, >>> to match what they really do. >>> >>> No functional change. >>> >>> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> >>> --- >>> arch/x86/kvm/vmx/nested.c | 2 +- >>> arch/x86/kvm/vmx/nested.h | 2 +- >>> arch/x86/kvm/vmx/vmx.c | 9 +++------ >>> 3 files changed, 5 insertions(+), 8 deletions(-) >>> >>> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c >>> index 5e231da00310..7935422d311f 100644 >>> --- a/arch/x86/kvm/vmx/nested.c >>> +++ b/arch/x86/kvm/vmx/nested.c >>> @@ -5768,7 +5768,7 @@ static int vmx_set_nested_state(struct >>> kvm_vcpu *vcpu, >>> return ret; >>> } >>> -void nested_vmx_vcpu_setup(void) >>> +void nested_vmx_vmcs_setup(void) >>> { >>> if (enable_shadow_vmcs) { >>> vmcs_write64(VMREAD_BITMAP, __pa(vmx_vmread_bitmap)); >>> diff --git a/arch/x86/kvm/vmx/nested.h b/arch/x86/kvm/vmx/nested.h >>> index 187d39bf0bf1..2be1ba7482c9 100644 >>> --- a/arch/x86/kvm/vmx/nested.h >>> +++ b/arch/x86/kvm/vmx/nested.h >>> @@ -11,7 +11,7 @@ void nested_vmx_setup_ctls_msrs(struct >>> nested_vmx_msrs *msrs, u32 ept_caps, >>> bool apicv); >>> void nested_vmx_hardware_unsetup(void); >>> __init int nested_vmx_hardware_setup(int (*exit_handlers[])(struct >>> kvm_vcpu *)); >>> -void nested_vmx_vcpu_setup(void); >>> +void nested_vmx_vmcs_setup(void); >>> void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu); >>> int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool >>> from_vmentry); >>> bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 >>> exit_reason); >>> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c >>> index e660e28e9ae0..58b77a882426 100644 >>> --- a/arch/x86/kvm/vmx/vmx.c >>> +++ b/arch/x86/kvm/vmx/vmx.c >>> @@ -4161,15 +4161,12 @@ static void ept_set_mmio_spte_mask(void) >>> #define VMX_XSS_EXIT_BITMAP 0 >>> -/* >>> - * Sets up the vmcs for emulated real mode. >>> - */ >>> -static void vmx_vcpu_setup(struct vcpu_vmx *vmx) >>> +static void vmx_vmcs_setup(struct vcpu_vmx *vmx) >>> { >>> int i; >>> if (nested) >>> - nested_vmx_vcpu_setup(); >>> + nested_vmx_vmcs_setup(); >>> if (cpu_has_vmx_msr_bitmap()) >>> vmcs_write64(MSR_BITMAP, __pa(vmx->vmcs01.msr_bitmap)); >>> @@ -6777,7 +6774,7 @@ static struct kvm_vcpu *vmx_create_vcpu(struct >>> kvm *kvm, unsigned int id) >>> cpu = get_cpu(); >>> vmx_vcpu_load(&vmx->vcpu, cpu); >>> vmx->vcpu.cpu = cpu; >>> - vmx_vcpu_setup(vmx); >>> + vmx_vmcs_setup(vmx); >>> vmx_vcpu_put(&vmx->vcpu); >>> put_cpu(); >>> if (cpu_need_virtualize_apic_accesses(&vmx->vcpu)) { >> >> May be we should rename vmx_vcpu_reset() to vmx_vmcs_reset() as well ? > > Not really. vmx_vcpu_reset() not only resets vmcs but also the > emulated field of vmx vcpu. It would be a better organization of the code if the resetting of the VMCS fields were placed in a separate function. Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
On 10/17/2019 2:09 AM, Krish Sadhukhan wrote: > > On 10/15/19 6:27 PM, Xiaoyao Li wrote: >> On 10/16/2019 6:05 AM, Krish Sadhukhan wrote: >>> >>> >>> On 10/15/2019 09:40 AM, Xiaoyao Li wrote: >>>> Rename {vmx,nested_vmx}_vcpu_setup to {vmx,nested_vmx}_vmcs_setup, >>>> to match what they really do. >>>> >>>> No functional change. >>>> >>>> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> >>>> --- >>>> arch/x86/kvm/vmx/nested.c | 2 +- >>>> arch/x86/kvm/vmx/nested.h | 2 +- >>>> arch/x86/kvm/vmx/vmx.c | 9 +++------ >>>> 3 files changed, 5 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c >>>> index 5e231da00310..7935422d311f 100644 >>>> --- a/arch/x86/kvm/vmx/nested.c >>>> +++ b/arch/x86/kvm/vmx/nested.c >>>> @@ -5768,7 +5768,7 @@ static int vmx_set_nested_state(struct >>>> kvm_vcpu *vcpu, >>>> return ret; >>>> } >>>> -void nested_vmx_vcpu_setup(void) >>>> +void nested_vmx_vmcs_setup(void) >>>> { >>>> if (enable_shadow_vmcs) { >>>> vmcs_write64(VMREAD_BITMAP, __pa(vmx_vmread_bitmap)); >>>> diff --git a/arch/x86/kvm/vmx/nested.h b/arch/x86/kvm/vmx/nested.h >>>> index 187d39bf0bf1..2be1ba7482c9 100644 >>>> --- a/arch/x86/kvm/vmx/nested.h >>>> +++ b/arch/x86/kvm/vmx/nested.h >>>> @@ -11,7 +11,7 @@ void nested_vmx_setup_ctls_msrs(struct >>>> nested_vmx_msrs *msrs, u32 ept_caps, >>>> bool apicv); >>>> void nested_vmx_hardware_unsetup(void); >>>> __init int nested_vmx_hardware_setup(int (*exit_handlers[])(struct >>>> kvm_vcpu *)); >>>> -void nested_vmx_vcpu_setup(void); >>>> +void nested_vmx_vmcs_setup(void); >>>> void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu); >>>> int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool >>>> from_vmentry); >>>> bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 >>>> exit_reason); >>>> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c >>>> index e660e28e9ae0..58b77a882426 100644 >>>> --- a/arch/x86/kvm/vmx/vmx.c >>>> +++ b/arch/x86/kvm/vmx/vmx.c >>>> @@ -4161,15 +4161,12 @@ static void ept_set_mmio_spte_mask(void) >>>> #define VMX_XSS_EXIT_BITMAP 0 >>>> -/* >>>> - * Sets up the vmcs for emulated real mode. >>>> - */ >>>> -static void vmx_vcpu_setup(struct vcpu_vmx *vmx) >>>> +static void vmx_vmcs_setup(struct vcpu_vmx *vmx) >>>> { >>>> int i; >>>> if (nested) >>>> - nested_vmx_vcpu_setup(); >>>> + nested_vmx_vmcs_setup(); >>>> if (cpu_has_vmx_msr_bitmap()) >>>> vmcs_write64(MSR_BITMAP, __pa(vmx->vmcs01.msr_bitmap)); >>>> @@ -6777,7 +6774,7 @@ static struct kvm_vcpu *vmx_create_vcpu(struct >>>> kvm *kvm, unsigned int id) >>>> cpu = get_cpu(); >>>> vmx_vcpu_load(&vmx->vcpu, cpu); >>>> vmx->vcpu.cpu = cpu; >>>> - vmx_vcpu_setup(vmx); >>>> + vmx_vmcs_setup(vmx); >>>> vmx_vcpu_put(&vmx->vcpu); >>>> put_cpu(); >>>> if (cpu_need_virtualize_apic_accesses(&vmx->vcpu)) { >>> >>> May be we should rename vmx_vcpu_reset() to vmx_vmcs_reset() as well ? >> >> Not really. vmx_vcpu_reset() not only resets vmcs but also the >> emulated field of vmx vcpu. > > It would be a better organization of the code if the resetting of the > VMCS fields were placed in a separate function. > OK, will do it in next version. > Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com> >
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 5e231da00310..7935422d311f 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -5768,7 +5768,7 @@ static int vmx_set_nested_state(struct kvm_vcpu *vcpu, return ret; } -void nested_vmx_vcpu_setup(void) +void nested_vmx_vmcs_setup(void) { if (enable_shadow_vmcs) { vmcs_write64(VMREAD_BITMAP, __pa(vmx_vmread_bitmap)); diff --git a/arch/x86/kvm/vmx/nested.h b/arch/x86/kvm/vmx/nested.h index 187d39bf0bf1..2be1ba7482c9 100644 --- a/arch/x86/kvm/vmx/nested.h +++ b/arch/x86/kvm/vmx/nested.h @@ -11,7 +11,7 @@ void nested_vmx_setup_ctls_msrs(struct nested_vmx_msrs *msrs, u32 ept_caps, bool apicv); void nested_vmx_hardware_unsetup(void); __init int nested_vmx_hardware_setup(int (*exit_handlers[])(struct kvm_vcpu *)); -void nested_vmx_vcpu_setup(void); +void nested_vmx_vmcs_setup(void); void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu); int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool from_vmentry); bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 exit_reason); diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index e660e28e9ae0..58b77a882426 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -4161,15 +4161,12 @@ static void ept_set_mmio_spte_mask(void) #define VMX_XSS_EXIT_BITMAP 0 -/* - * Sets up the vmcs for emulated real mode. - */ -static void vmx_vcpu_setup(struct vcpu_vmx *vmx) +static void vmx_vmcs_setup(struct vcpu_vmx *vmx) { int i; if (nested) - nested_vmx_vcpu_setup(); + nested_vmx_vmcs_setup(); if (cpu_has_vmx_msr_bitmap()) vmcs_write64(MSR_BITMAP, __pa(vmx->vmcs01.msr_bitmap)); @@ -6777,7 +6774,7 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) cpu = get_cpu(); vmx_vcpu_load(&vmx->vcpu, cpu); vmx->vcpu.cpu = cpu; - vmx_vcpu_setup(vmx); + vmx_vmcs_setup(vmx); vmx_vcpu_put(&vmx->vcpu); put_cpu(); if (cpu_need_virtualize_apic_accesses(&vmx->vcpu)) {
Rename {vmx,nested_vmx}_vcpu_setup to {vmx,nested_vmx}_vmcs_setup, to match what they really do. No functional change. Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> --- arch/x86/kvm/vmx/nested.c | 2 +- arch/x86/kvm/vmx/nested.h | 2 +- arch/x86/kvm/vmx/vmx.c | 9 +++------ 3 files changed, 5 insertions(+), 8 deletions(-)