]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
events: drop arch_evtchn_inject()
authorJan Beulich <jbeulich@suse.com>
Tue, 12 Mar 2019 13:40:24 +0000 (14:40 +0100)
committerJulien Grall <julien.grall@arm.com>
Fri, 14 Jun 2019 13:38:40 +0000 (14:38 +0100)
Have the only user call vcpu_mark_events_pending() instead, at the same
time arranging for correct ordering of the writes (evtchn_pending_sel
should be written before evtchn_upcall_pending).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Julien Grall <julien.grall@arm.com>
xen/arch/arm/vgic.c
xen/arch/arm/vgic/vgic.c
xen/common/domain.c
xen/include/xen/event.h

index 3fafdd0b66c38551d6ce1ec3946f91818eb9f6c7..07c704edfff6f9559cc50b2ea0f62ff8ff76f8ce 100644 (file)
@@ -597,11 +597,6 @@ out:
     return;
 }
 
-void arch_evtchn_inject(struct vcpu *v)
-{
-    vgic_inject_irq(v->domain, v, v->domain->arch.evtchn_irq, true);
-}
-
 bool vgic_evtchn_irq_pending(struct vcpu *v)
 {
     struct pending_irq *p;
index a35449bf11c4a96e7177cbffdc5d49832debfe86..bd4e268e57d0c32a4f4c1dd95c622ec297448be0 100644 (file)
@@ -692,11 +692,6 @@ void vgic_kick_vcpus(struct domain *d)
     }
 }
 
-void arch_evtchn_inject(struct vcpu *v)
-{
-    vgic_inject_irq(v->domain, v, v->domain->arch.evtchn_irq, true);
-}
-
 bool vgic_evtchn_irq_pending(struct vcpu *v)
 {
     struct vgic_irq *irq;
index 6cbf135457e4bcd4ef288aab65b0cc757fab7a49..f0458c200fde0ba11dbd814083cd909392e6ddea 100644 (file)
@@ -1239,10 +1239,9 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
      * Mark everything as being pending just to make sure nothing gets
      * lost.  The domain will get a spurious event, but it can cope.
      */
-    vcpu_info(v, evtchn_upcall_pending) = 1;
     for ( i = 0; i < BITS_PER_EVTCHN_WORD(d); i++ )
         set_bit(i, &vcpu_info(v, evtchn_pending_sel));
-    arch_evtchn_inject(v);
+    vcpu_mark_events_pending(v);
 
     return 0;
 }
index ebb879e88ddfc216f27e4a19e93e7c108a3ca3c1..b8152a9831b4413db17bf34d6f1883d13dbb5667 100644 (file)
@@ -83,9 +83,6 @@ int guest_enabled_event(struct vcpu *v, uint32_t virq);
 /* Notify remote end of a Xen-attached event channel.*/
 void notify_via_xen_event_channel(struct domain *ld, int lport);
 
-/* Inject an event channel notification into the guest */
-void arch_evtchn_inject(struct vcpu *v);
-
 /*
  * Internal event channel object storage.
  *