diff options
author | David Vrabel <david.vrabel@citrix.com> | 2013-10-14 10:15:49 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-10-14 10:15:49 +0200 |
commit | fbbd5009e6ed1201731b1727762070c1a988e67d (patch) | |
tree | 381a98fa04cc3a6625df6030b60bde4c4e701145 /xen/include/xen/sched.h | |
parent | 17ae93b12ddf22f2d794260a3dc2947858c625a0 (diff) | |
download | xen-fbbd5009e6ed1201731b1727762070c1a988e67d.tar.gz xen-fbbd5009e6ed1201731b1727762070c1a988e67d.tar.bz2 xen-fbbd5009e6ed1201731b1727762070c1a988e67d.zip |
evtchn: refactor low-level event channel port ops
Use functions for the low-level event channel port operations
(set/clear pending, unmask, is_pending and is_masked).
Group these functions into a struct evtchn_port_op so they can be
replaced by alternate implementations (for different ABIs) on a
per-domain basis.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/xen/sched.h')
-rw-r--r-- | xen/include/xen/sched.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 2e83f08dd9..7c9eca38d2 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -66,6 +66,7 @@ struct evtchn u8 state; /* ECS_* */ u8 xen_consumer; /* Consumer in Xen, if any? (0 = send to guest) */ u16 notify_vcpu_id; /* VCPU for local delivery notification */ + u32 port; union { struct { domid_t remote_domid; @@ -238,6 +239,8 @@ struct mem_event_per_domain struct mem_event_domain access; }; +struct evtchn_port_ops; + struct domain { domid_t domain_id; @@ -271,6 +274,7 @@ struct domain /* Event channel information. */ struct evtchn *evtchn[NR_EVTCHN_BUCKETS]; spinlock_t event_lock; + const struct evtchn_port_ops *evtchn_port_ops; struct grant_table *grant_table; |