From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH] KVM: emulate lapic tsc deadline timer for hvm Date: Fri, 9 Sep 2011 15:36:36 -0300 Message-ID: <20110909183636.GA24361@amt.cnet> References: <4E521EF9.7020404@redhat.com> <20110823104723.GA2898@amt.cnet> <20110909125635.GA10198@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , "kvm@vger.kernel.org" , "qemu-devel@nongnu.org" To: "Liu, Jinsong" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:55553 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932486Ab1IISgs (ORCPT ); Fri, 9 Sep 2011 14:36:48 -0400 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Sat, Sep 10, 2011 at 02:11:36AM +0800, Liu, Jinsong wrote: > Marcelo Tosatti wrote: > > On Fri, Sep 09, 2011 at 01:12:51AM +0800, Liu, Jinsong wrote: > >>>>> --- a/arch/x86/include/asm/msr-index.h > >>>>> +++ b/arch/x86/include/asm/msr-index.h > >>>>> @@ -229,6 +229,8 @@ > >>>>> #define MSR_IA32_APICBASE_ENABLE (1<<11) > >>>>> #define MSR_IA32_APICBASE_BASE (0xfffff<<12) > >>>>> > >>>>> +#define MSR_IA32_TSCDEADLINE 0x000006e0 > >>>>> + > >>>>> #define MSR_IA32_UCODE_WRITE 0x00000079 > >>>>> #define MSR_IA32_UCODE_REV 0x0000008b > >>>> > >>>> Need to add to msrs_to_save so live migration works. > >>> > >>> MSR must be explicitly listed in qemu, also. > >>> > >> > >> Marcelo, seems MSR don't need explicitly list in qemu? > >> KVM side adding MSR_IA32_TSCDEADLINE to msrs_to_save is enough. Qemu > >> will get it through KVM_GET_MSR_INDEX_LIST. Do I miss something? > > > > Notice in target-i386/kvm.c the KVM_GET_MSR_INDEX_LIST list is only > > used for MSR_STAR/MSR_HSAVE_PA presence detection. > > Yes > > > > > Do you do need to explicitly add MSR_IA32_TSCDEADLINE to > > kvm_get_msrs/kvm_put_msrs routines. > > My question is, which kvm_get_msrs/kvm_put_msrs routine be used by live migration, the routine in target-i386/kvm.c, or in kvm/libkvm/libkvm-x86.c? They both have ioctl KVM_GET_MSR_INDEX_LIST/ KVM_GET_MSRS/ KVM_SET_MSRS, but I'm not clear their purpose/usage difference. kvm_get_msrs/kvm_put_msrs in target-i386/kvm.c. kvm/ directory is dead.