diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-06-24 11:05:22 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-06-24 11:05:22 +0100 |
commit | 6e10abac004556688ac79bf27a501401224b262d (patch) | |
tree | 512b24ba382f88327617cb1bd1b5b837ebf53da7 /xen/arch/x86/hvm/vpt.c | |
parent | c764820ae6c300900aecc04dab691b14f4152f13 (diff) | |
download | xen-6e10abac004556688ac79bf27a501401224b262d.tar.gz xen-6e10abac004556688ac79bf27a501401224b262d.tar.bz2 xen-6e10abac004556688ac79bf27a501401224b262d.zip |
Scaling guest's TSC when the target machine's frequency is different
with its requirement.
Using trap&emulate for guest's each rdtsc instruction first, maybe it
can be optimized later.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Diffstat (limited to 'xen/arch/x86/hvm/vpt.c')
-rw-r--r-- | xen/arch/x86/hvm/vpt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c index 071ef14517..6a12d37a21 100644 --- a/xen/arch/x86/hvm/vpt.c +++ b/xen/arch/x86/hvm/vpt.c @@ -33,7 +33,8 @@ void hvm_init_guest_time(struct domain *d) pl->stime_offset = -(u64)get_s_time(); pl->last_guest_time = 0; - d->arch.hvm_domain.gtsc_khz = cpu_khz; + d->arch.hvm_domain.gtsc_khz = opt_softtsc ? 1000000 : cpu_khz; + d->arch.hvm_domain.tsc_scaled = 0; } u64 hvm_get_guest_time(struct vcpu *v) |