aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/i8254.c
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2006-10-25 11:50:54 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2006-10-25 11:50:54 +0100
commitfcf4e106d0be62c04c62393632bb8b5a52c2dc8a (patch)
tree1cd785807ff527ac52f0aad588e46439d09318f2 /xen/arch/x86/hvm/i8254.c
parent94e4fb8a1d430fec021c1981f9fd25df6d0246a1 (diff)
downloadxen-fcf4e106d0be62c04c62393632bb8b5a52c2dc8a.tar.gz
xen-fcf4e106d0be62c04c62393632bb8b5a52c2dc8a.tar.bz2
xen-fcf4e106d0be62c04c62393632bb8b5a52c2dc8a.zip
[HVM] Move ACPI timer to HV, which is the last platform timer in Qemu.
We found Vista polls ACPI timer very frequently (about 15 times averagely) when handling timer (RTC @ 64HZ) interrupt routine. Though the exact reason is known, it should be related to system time adjustment. When it's in Qemu, the overhead is big. After moving, Vista's idle overhead decreases dramatically from ~10% to 0.9%.=20 Another benefit is that Vista can only pass Performance rating with this patch. The root cause is that ACPI timer in Qemu isn't synchronous with other platform timer in HV, which results in Vista complains "can't measure TSC frequency". This patch changes vpit.h to vpt.h, for it not only has pit structure in it, but other platform timer's structure. Another change is moving ACPI timer and related address from acpi.h to ioreq.h, which can be shared by HV and ACPI firmware. Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Diffstat (limited to 'xen/arch/x86/hvm/i8254.c')
-rw-r--r--xen/arch/x86/hvm/i8254.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/hvm/i8254.c b/xen/arch/x86/hvm/i8254.c
index 5f27ee25b2..464ddee8f9 100644
--- a/xen/arch/x86/hvm/i8254.c
+++ b/xen/arch/x86/hvm/i8254.c
@@ -38,7 +38,7 @@
#include <asm/hvm/hvm.h>
#include <asm/hvm/io.h>
#include <asm/hvm/support.h>
-#include <asm/hvm/vpit.h>
+#include <asm/hvm/vpt.h>
#include <asm/current.h>
/* Enable DEBUG_PIT may cause guest calibration inaccuracy */