Message ID | 1375693835-10988-1-git-send-email-yzt356@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: > Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. > > Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> > --- > arch/x86/kvm/vmx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 45fd70c..240f0db 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) > #else > nested_vmx_exit_ctls_high = 0; > #endif > - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; > + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | > + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; > You should not set those if host does not support them, otherwise GUEST_IA32_PAT may not be available. -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: >> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. >> >> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> >> --- >> arch/x86/kvm/vmx.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >> index 45fd70c..240f0db 100644 >> --- a/arch/x86/kvm/vmx.c >> +++ b/arch/x86/kvm/vmx.c >> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) >> #else >> nested_vmx_exit_ctls_high = 0; >> #endif >> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; >> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | >> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; >> > You should not set those if host does not support them, otherwise > GUEST_IA32_PAT may not be available To Jan, Is this different from IA32_EFER? Arthur > > -- > Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2013-08-05 11:36, Gmail wrote: > > >> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: >>> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. >>> >>> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> >>> --- >>> arch/x86/kvm/vmx.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >>> index 45fd70c..240f0db 100644 >>> --- a/arch/x86/kvm/vmx.c >>> +++ b/arch/x86/kvm/vmx.c >>> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) >>> #else >>> nested_vmx_exit_ctls_high = 0; >>> #endif >>> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; >>> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | >>> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; >>> >> You should not set those if host does not support them, otherwise >> GUEST_IA32_PAT may not be available > To Jan, > Is this different from IA32_EFER? As we use a real VMCS to keep GUEST/HOST_IA32_EFER, we actually do depend on the existence of the host feature. So my patch requires an update as you noted. Jan
On Mon, Aug 05, 2013 at 12:38:32PM +0200, Jan Kiszka wrote: > On 2013-08-05 11:36, Gmail wrote: > > > > > >> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: > >>> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. > >>> > >>> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> > >>> --- > >>> arch/x86/kvm/vmx.c | 3 ++- > >>> 1 file changed, 2 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > >>> index 45fd70c..240f0db 100644 > >>> --- a/arch/x86/kvm/vmx.c > >>> +++ b/arch/x86/kvm/vmx.c > >>> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) > >>> #else > >>> nested_vmx_exit_ctls_high = 0; > >>> #endif > >>> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; > >>> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | > >>> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; > >>> > >> You should not set those if host does not support them, otherwise > >> GUEST_IA32_PAT may not be available > > To Jan, > > Is this different from IA32_EFER? > > As we use a real VMCS to keep GUEST/HOST_IA32_EFER, we actually do > depend on the existence of the host feature. So my patch requires an > update as you noted. > Your patch didn't add new users of GUEST_IA32_PAT and VM_ENTRY_LOAD_IA32_PAT is enabled by nested only if host has it, so I am not sure why you are saying that patch should be updated. -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Aug 5, 2013 at 6:55 PM, Gleb Natapov <gleb@redhat.com> wrote: > On Mon, Aug 05, 2013 at 12:38:32PM +0200, Jan Kiszka wrote: >> On 2013-08-05 11:36, Gmail wrote: >> > >> > >> >> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: >> >>> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. >> >>> >> >>> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> >> >>> --- >> >>> arch/x86/kvm/vmx.c | 3 ++- >> >>> 1 file changed, 2 insertions(+), 1 deletion(-) >> >>> >> >>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >> >>> index 45fd70c..240f0db 100644 >> >>> --- a/arch/x86/kvm/vmx.c >> >>> +++ b/arch/x86/kvm/vmx.c >> >>> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) >> >>> #else >> >>> nested_vmx_exit_ctls_high = 0; >> >>> #endif >> >>> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; >> >>> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | >> >>> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; >> >>> >> >> You should not set those if host does not support them, otherwise >> >> GUEST_IA32_PAT may not be available >> > To Jan, >> > Is this different from IA32_EFER? >> >> As we use a real VMCS to keep GUEST/HOST_IA32_EFER, we actually do >> depend on the existence of the host feature. So my patch requires an >> update as you noted. >> > Your patch didn't add new users of GUEST_IA32_PAT and > VM_ENTRY_LOAD_IA32_PAT is enabled by nested only if host has it, so I am > not sure why you are saying that patch should be updated. I think Jan points [1] and you refer to another. [1] http://www.mail-archive.com/kvm@vger.kernel.org/msg94188.html Arthur > > > -- > Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2013-08-05 13:00, Arthur Chunqi Li wrote: > On Mon, Aug 5, 2013 at 6:55 PM, Gleb Natapov <gleb@redhat.com> wrote: >> On Mon, Aug 05, 2013 at 12:38:32PM +0200, Jan Kiszka wrote: >>> On 2013-08-05 11:36, Gmail wrote: >>>> >>>> >>>>> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: >>>>>> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. >>>>>> >>>>>> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> >>>>>> --- >>>>>> arch/x86/kvm/vmx.c | 3 ++- >>>>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >>>>>> index 45fd70c..240f0db 100644 >>>>>> --- a/arch/x86/kvm/vmx.c >>>>>> +++ b/arch/x86/kvm/vmx.c >>>>>> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) >>>>>> #else >>>>>> nested_vmx_exit_ctls_high = 0; >>>>>> #endif >>>>>> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; >>>>>> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | >>>>>> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; >>>>>> >>>>> You should not set those if host does not support them, otherwise >>>>> GUEST_IA32_PAT may not be available >>>> To Jan, >>>> Is this different from IA32_EFER? >>> >>> As we use a real VMCS to keep GUEST/HOST_IA32_EFER, we actually do >>> depend on the existence of the host feature. So my patch requires an >>> update as you noted. >>> >> Your patch didn't add new users of GUEST_IA32_PAT and >> VM_ENTRY_LOAD_IA32_PAT is enabled by nested only if host has it, so I am >> not sure why you are saying that patch should be updated. > I think Jan points [1] and you refer to another. > > [1] http://www.mail-archive.com/kvm@vger.kernel.org/msg94188.html Yep, that's what I was referring to. Jan
On Mon, Aug 05, 2013 at 01:04:25PM +0200, Jan Kiszka wrote: > On 2013-08-05 13:00, Arthur Chunqi Li wrote: > > On Mon, Aug 5, 2013 at 6:55 PM, Gleb Natapov <gleb@redhat.com> wrote: > >> On Mon, Aug 05, 2013 at 12:38:32PM +0200, Jan Kiszka wrote: > >>> On 2013-08-05 11:36, Gmail wrote: > >>>> > >>>> > >>>>> On Mon, Aug 05, 2013 at 05:10:35PM +0800, Arthur Chunqi Li wrote: > >>>>>> Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. > >>>>>> > >>>>>> Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> > >>>>>> --- > >>>>>> arch/x86/kvm/vmx.c | 3 ++- > >>>>>> 1 file changed, 2 insertions(+), 1 deletion(-) > >>>>>> > >>>>>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > >>>>>> index 45fd70c..240f0db 100644 > >>>>>> --- a/arch/x86/kvm/vmx.c > >>>>>> +++ b/arch/x86/kvm/vmx.c > >>>>>> @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) > >>>>>> #else > >>>>>> nested_vmx_exit_ctls_high = 0; > >>>>>> #endif > >>>>>> - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; > >>>>>> + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | > >>>>>> + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; > >>>>>> > >>>>> You should not set those if host does not support them, otherwise > >>>>> GUEST_IA32_PAT may not be available > >>>> To Jan, > >>>> Is this different from IA32_EFER? > >>> > >>> As we use a real VMCS to keep GUEST/HOST_IA32_EFER, we actually do > >>> depend on the existence of the host feature. So my patch requires an > >>> update as you noted. > >>> > >> Your patch didn't add new users of GUEST_IA32_PAT and > >> VM_ENTRY_LOAD_IA32_PAT is enabled by nested only if host has it, so I am > >> not sure why you are saying that patch should be updated. > > I think Jan points [1] and you refer to another. > > > > [1] http://www.mail-archive.com/kvm@vger.kernel.org/msg94188.html > > Yep, that's what I was referring to. > Ah, too many patches :) -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 45fd70c..240f0db 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) #else nested_vmx_exit_ctls_high = 0; #endif - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; /* entry controls */ rdmsr(MSR_IA32_VMX_ENTRY_CTLS,
Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> --- arch/x86/kvm/vmx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)