aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/event.h
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2013-10-14 10:21:06 +0200
committerJan Beulich <jbeulich@suse.com>2013-10-14 10:21:06 +0200
commitedc8872aeb4a6e6a50775d6088aab97324ee3e15 (patch)
treeeb0ffab200c32152814c1b07177cb07b71c4b7f0 /xen/include/xen/event.h
parentd2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5 (diff)
downloadxen-edc8872aeb4a6e6a50775d6088aab97324ee3e15.tar.gz
xen-edc8872aeb4a6e6a50775d6088aab97324ee3e15.tar.bz2
xen-edc8872aeb4a6e6a50775d6088aab97324ee3e15.zip
evtchn: implement EVTCHNOP_set_priority and add the set_priority hook
Implement EVTCHNOP_set_priority. A new set_priority hook added to struct evtchn_port_ops will do the ABI specific validation and setup. If an ABI does not provide a set_priority hook (as is the case of the 2-level ABI), the sub-op will return -ENOSYS. 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/event.h')
-rw-r--r--xen/include/xen/event.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index cba09e7a60..70fc271734 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -137,6 +137,8 @@ struct evtchn_port_ops {
void (*unmask)(struct domain *d, struct evtchn *evtchn);
bool_t (*is_pending)(struct domain *d, const struct evtchn *evtchn);
bool_t (*is_masked)(struct domain *d, const struct evtchn *evtchn);
+ int (*set_priority)(struct domain *d, struct evtchn *evtchn,
+ unsigned int priority);
void (*print_state)(struct domain *d, const struct evtchn *evtchn);
};
@@ -170,6 +172,15 @@ static inline bool_t evtchn_port_is_masked(struct domain *d,
return d->evtchn_port_ops->is_masked(d, evtchn);
}
+static inline int evtchn_port_set_priority(struct domain *d,
+ struct evtchn *evtchn,
+ unsigned int priority)
+{
+ if ( !d->evtchn_port_ops->set_priority )
+ return -ENOSYS;
+ return d->evtchn_port_ops->set_priority(d, evtchn, priority);
+}
+
static inline void evtchn_port_print_state(struct domain *d,
const struct evtchn *evtchn)
{