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-3.2-testing] PV-on-HVM: unmask_evtchn() must always

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.2-testing] PV-on-HVM: unmask_evtchn() must always use hypercall.
From: "Xen patchbot-3.2-testing" <patchbot-3.2-testing@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 21 Aug 2008 10:30:27 -0700
Delivery-date: Thu, 21 Aug 2008 10:30:13 -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 1219308788 -3600
# Node ID b74fe3ba4ce17a1a429973af06e8b68875b3bfa8
# Parent  87ede74351937470e25703e1fb663cd069cc5e4a
PV-on-HVM: unmask_evtchn() must always use hypercall.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   18354:1ea9dd2c7331a7ac22e0debc749316840ce5fdca
xen-unstable date:        Thu Aug 21 09:51:46 2008 +0100
---
 unmodified_drivers/linux-2.6/platform-pci/evtchn.c |   41 +--------------------
 1 files changed, 2 insertions(+), 39 deletions(-)

diff -r 87ede7435193 -r b74fe3ba4ce1 
unmodified_drivers/linux-2.6/platform-pci/evtchn.c
--- a/unmodified_drivers/linux-2.6/platform-pci/evtchn.c        Wed Aug 20 
09:08:30 2008 +0100
+++ b/unmodified_drivers/linux-2.6/platform-pci/evtchn.c        Thu Aug 21 
09:53:08 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);
 
@@ -309,12 +278,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-3.2-testing] PV-on-HVM: unmask_evtchn() must always use hypercall., Xen patchbot-3.2-testing <=