|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [HVM] Only update guest time on timer int
# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1169207932 0
# Node ID 2ef07c6107296c4a0366b1088c5a64b310c29d50
# Parent 683bc79cf579d83be451daded565454d81dffdea
[HVM] Only update guest time on timer interrupt delivery if the guest time is
in the past.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
xen/arch/x86/hvm/vpt.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletion(-)
diff -r 683bc79cf579 -r 2ef07c610729 xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c Fri Jan 19 10:12:39 2007 +0000
+++ b/xen/arch/x86/hvm/vpt.c Fri Jan 19 11:58:52 2007 +0000
@@ -163,13 +163,17 @@ void pt_intr_post(struct vcpu *v, int ve
void pt_intr_post(struct vcpu *v, int vector, int type)
{
struct periodic_time *pt = is_pt_irq(v, vector, type);
+ unsigned long long gtime;
if ( pt == NULL )
return;
pt->pending_intr_nr--;
pt->last_plt_gtime += pt->period_cycles;
- hvm_set_guest_time(pt->vcpu, pt->last_plt_gtime);
+
+ gtime = hvm_get_guest_time(pt->vcpu);
+ if (gtime < pt->last_plt_gtime)
+ hvm_set_guest_time(pt->vcpu, pt->last_plt_gtime);
if ( pt->cb != NULL )
pt->cb(pt->vcpu, pt->priv);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [HVM] Only update guest time on timer interrupt delivery if the guest time is in the past.,
Xen patchbot-unstable <=
|
|
|
|
|