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-changelog

[Xen-changelog] [xen-unstable] PV-on-HVM: unmask_evtchn() must always us

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] PV-on-HVM: unmask_evtchn() must always use hypercall.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 21 Aug 2008 05:50:08 -0700
Delivery-date: Thu, 21 Aug 2008 05:50:35 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1219308706 -3600
# Node ID 1ea9dd2c7331a7ac22e0debc749316840ce5fdca
# Parent  598d92a5ae7a0a426dc8cb2b6b2e5dce2b5036be
PV-on-HVM: unmask_evtchn() must always use hypercall.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 unmodified_drivers/linux-2.6/platform-pci/evtchn.c |   41 +--------------------
 1 files changed, 2 insertions(+), 39 deletions(-)

diff -r 598d92a5ae7a -r 1ea9dd2c7331 
unmodified_drivers/linux-2.6/platform-pci/evtchn.c
--- a/unmodified_drivers/linux-2.6/platform-pci/evtchn.c        Wed Aug 20 
14:45:21 2008 +0100
+++ b/unmodified_drivers/linux-2.6/platform-pci/evtchn.c        Thu Aug 21 
09:51:46 2008 +0100
@@ -107,39 +107,8 @@ EXPORT_SYMBOL(mask_evtchn);
 
 void unmask_evtchn(int port)
 {
-       unsigned int cpu;
-       shared_info_t *s = shared_info_area;
-       vcpu_info_t *vcpu_info;
-
-       cpu = get_cpu();
-       vcpu_info = &s->vcpu_info[cpu];
-
-       /* Slow path (hypercall) if this is a non-local port.  We only
-          ever bind event channels to vcpu 0 in HVM guests. */
-       if (unlikely(cpu != 0)) {
-               evtchn_unmask_t op = { .port = port };
-               VOID(HYPERVISOR_event_channel_op(EVTCHNOP_unmask,
-                                                &op));
-               put_cpu();
-               return;
-       }
-
-       synch_clear_bit(port, &s->evtchn_mask[0]);
-
-       /*
-        * The following is basically the equivalent of
-        * 'hw_resend_irq'. Just like a real IO-APIC we 'lose the
-        * interrupt edge' if the channel is masked.
-        */
-       if (synch_test_bit(port, &s->evtchn_pending[0]) &&
-           !synch_test_and_set_bit(port / BITS_PER_LONG,
-                                   &vcpu_info->evtchn_pending_sel)) {
-               vcpu_info->evtchn_upcall_pending = 1;
-               if (!vcpu_info->evtchn_upcall_mask)
-                       force_evtchn_callback();
-       }
-
-       put_cpu();
+       evtchn_unmask_t op = { .port = port };
+       VOID(HYPERVISOR_event_channel_op(EVTCHNOP_unmask, &op));
 }
 EXPORT_SYMBOL(unmask_evtchn);
 
@@ -357,12 +326,6 @@ static irqreturn_t evtchn_interrupt(int 
        return IRQ_HANDLED;
 }
 
-void force_evtchn_callback(void)
-{
-       VOID(HYPERVISOR_xen_version(0, NULL));
-}
-EXPORT_SYMBOL(force_evtchn_callback);
-
 void irq_resume(void)
 {
        int evtchn, irq;

_______________________________________________
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] PV-on-HVM: unmask_evtchn() must always use hypercall., Xen patchbot-unstable <=