From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [RFC 2/7] change headers preparing for steal time Date: Sun, 29 Aug 2010 12:51:40 +0300 Message-ID: <4C7A2DAC.8090903@redhat.com> References: <1282772597-4183-1-git-send-email-glommer@redhat.com> <1282772597-4183-2-git-send-email-glommer@redhat.com> <1282772597-4183-3-git-send-email-glommer@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, zamsden@redhat.com, mtosatti@redhat.com, riel@redhat.com To: Glauber Costa Return-path: Received: from mx1.redhat.com ([209.132.183.28]:64266 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752524Ab0H2Jvm (ORCPT ); Sun, 29 Aug 2010 05:51:42 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o7T9pghL027188 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 29 Aug 2010 05:51:42 -0400 Received: from cleopatra.tlv.redhat.com (cleopatra.tlv.redhat.com [10.35.255.11]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o7T9pf1r007627 for ; Sun, 29 Aug 2010 05:51:41 -0400 In-Reply-To: <1282772597-4183-3-git-send-email-glommer@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/26/2010 12:43 AM, Glauber Costa wrote: > This guest/host common patch prepares infrastructure for > the steal time implementation. Some constants are added, > and a name change happens in pvclock vcpu structure. > > Signed-off-by: Glauber Costa > --- > arch/x86/include/asm/kvm_para.h | 1 + > arch/x86/include/asm/pvclock-abi.h | 4 +++- > 2 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h > index 05eba5e..1759c81 100644 > --- a/arch/x86/include/asm/kvm_para.h > +++ b/arch/x86/include/asm/kvm_para.h > @@ -25,6 +25,7 @@ > * in pvclock structure. If no bits are set, all flags are ignored. > */ > #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24 > +#define KVM_FEATURE_CLOCKSOURCE_STEAL_BIT 25 > > #define MSR_KVM_WALL_CLOCK 0x11 > #define MSR_KVM_SYSTEM_TIME 0x12 > diff --git a/arch/x86/include/asm/pvclock-abi.h b/arch/x86/include/asm/pvclock-abi.h > index 35f2d19..417061b 100644 > --- a/arch/x86/include/asm/pvclock-abi.h > +++ b/arch/x86/include/asm/pvclock-abi.h > @@ -24,7 +24,7 @@ > > struct pvclock_vcpu_time_info { > u32 version; > - u32 pad0; > + u32 steal_time; > u64 tsc_timestamp; > u64 system_time; > u32 tsc_to_system_mul; > @@ -40,5 +40,7 @@ struct pvclock_wall_clock { > } __attribute__((__packed__)); > > #define PVCLOCK_TSC_STABLE_BIT (1<< 0) > +#define PVCLOCK_STEAL_BIT (2<< 0) > + > #endif /* __ASSEMBLY__ */ > #endif /* _ASM_X86_PVCLOCK_ABI_H */ We could extend pvclock to 64 bytes (unfortunately we didn't reserve bits 0-5 like we did with others) and use an nsec field. We can declare bit 1 to be a 'the address is 64 byte aligned and bits 2-5 are now feature bits', or we can add a new msr. Pretty complicated but it's good to have everything using the same units. -- error compiling committee.c: too many arguments to function