WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH][5/5] Register the portio handler only once.

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH][5/5] Register the portio handler only once.
From: Arun Sharma <arun.sharma@xxxxxxxxx>
Date: Fri, 1 Jul 2005 11:57:42 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 01 Jul 2005 18:52:31 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.1i
Register the portio handler only once.

Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r d7bcd6f56b15 -r 63fd76ad669f xen/arch/x86/vmx_intercept.c
--- a/xen/arch/x86/vmx_intercept.c      Thu Jun 30 22:27:41 2005
+++ b/xen/arch/x86/vmx_intercept.c      Thu Jun 30 23:22:26 2005
@@ -216,7 +216,7 @@
     shared_iopage_t *sp = get_sp(d->domain);
     u64 *intr = &(sp->sp_global.pic_intr[0]);
     struct vmx_virpit_t *vpit = &(d->domain->arch.vmx_platform.vmx_pit);
-    int rw_mode;
+    int rw_mode, reinit = 0;
 
     /* load init count*/
     if (p->state == STATE_IORESP_HOOK) { 
@@ -224,6 +224,7 @@
         if ( active_ac_timer(&(vpit->pit_timer)) ) {
             VMX_DBG_LOG(DBG_LEVEL_1, "VMX_PIT: guest reset PIT with channel 
%lx!\n", (unsigned long) ((p->u.data >> 24) & 0x3) );
             rem_ac_timer(&(vpit->pit_timer));
+            reinit = 1;
         }
         else
             init_ac_timer(&vpit->pit_timer, pit_timer_fn, vpit, 0);
@@ -268,7 +269,8 @@
         p->state = STATE_IORESP_READY;
 
        /* register handler to intercept the PIT io when vm_exit */
-       register_portio_handler(0x40, 4, intercept_pit_io); 
+        if (!reinit)
+           register_portio_handler(0x40, 4, intercept_pit_io); 
     }
 
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH][5/5] Register the portio handler only once., Arun Sharma <=