Re: include files for kvmclock

From: Jeremy Fitzhardinge
Date: Tue Nov 06 2007 - 17:50:24 EST


Glauber de Oliveira Costa wrote:
> This patch introduces the include files for kvm clock.
> They'll be needed for both guest and host part.
>
> Signed-off-by: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx>
> ---
> include/asm-x86/kvm_para.h | 23 +++++++++++++++++++++++
> include/linux/kvm.h | 1 +
> include/linux/kvm_para.h | 20 ++++++++++++++++++++
> 3 files changed, 44 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-x86/kvm_para.h b/include/asm-x86/kvm_para.h
> index c6f3fd8..af9fb75 100644
> --- a/include/asm-x86/kvm_para.h
> +++ b/include/asm-x86/kvm_para.h
> @@ -10,15 +10,38 @@
> * paravirtualization, the appropriate feature bit should be checked.
> */
> #define KVM_CPUID_FEATURES 0x40000001
> +#define KVM_FEATURE_CLOCKEVENTS 0
> +#define KVM_FEATURE_CLOCKSOURCE 1
> +
>
> #ifdef __KERNEL__
> #include <asm/processor.h>
> +extern void kvmclock_init(void);
> +
> +union kvm_hv_clock {
>

Why two copies of this structure?

> + struct {
> + u64 tsc_mult;
> + u64 now_ns;
> + /* That's the wall clock, not the water closet */
> + u64 wc_sec;
> + u64 wc_nsec;
> + u64 last_tsc;
> + /* At first, we could use the tsc value as a marker, but Jeremy
> + * well noted that it will cause us locking problems in 32-bit
> + * sys, so we have a special version field */
> + u32 version;
> + };
> + char page_align[PAGE_SIZE];
> +};
> +
>

[...]

> +
> +union kvm_hv_clock {
> + struct {
> + u64 tsc_mult;
> + u64 now_ns;
> + /* That's the wall clock, not the water closet */
> + u64 wc_sec;
> + u64 wc_nsec;
> + u64 last_tsc;
> + /* At first, we could use the tsc value as a marker, but Jeremy
> + * well noted that it will cause us locking problems in 32-bit
> + * sys, so we have a special version field */
> + u32 version;
> + };
> + char page_align[PAGE_SIZE];
> +};
> +
> /*
> * hypercalls use architecture specific
> */
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/