]> xenbits.xensource.com Git - xen.git/commitdiff
events: drop arch_evtchn_inject()
authorJan Beulich <jbeulich@suse.com>
Thu, 23 May 2019 17:42:29 +0000 (10:42 -0700)
committerJulien Grall <julien.grall@arm.com>
Fri, 14 Jun 2019 14:45:59 +0000 (15:45 +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>
Signed-off-by: Stefano Stabellini <stefanos@xilinx.com>
xen/arch/arm/vgic.c
xen/common/domain.c
xen/include/xen/event.h

index 60af06805dfdaca78bcc6fd8a9ab88b58d2ad18d..53d43b49a149c7cf7316c290432af9a16e6c6004 100644 (file)
@@ -537,11 +537,6 @@ void vgic_vcpu_inject_spi(struct domain *d, unsigned int virq)
     vgic_vcpu_inject_irq(v, virq);
 }
 
-void arch_evtchn_inject(struct vcpu *v)
-{
-    vgic_vcpu_inject_irq(v, v->domain->arch.evtchn_irq);
-}
-
 int vgic_emulate(struct cpu_user_regs *regs, union hsr hsr)
 {
     struct vcpu *v = current;
index b574551188abfbefabd0f5ff2a65433dcd61df12..314f880a9252b3627da457955923cf0375b7dcfd 100644 (file)
@@ -1206,10 +1206,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 82caddbe765d455fb044763f6455c8e7cb5e13c2..945c2e70494674b14048d5bf4665f6fff748d6a2 100644 (file)
@@ -68,9 +68,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.
  *