From edc8872aeb4a6e6a50775d6088aab97324ee3e15 Mon Sep 17 00:00:00 2001 From: David Vrabel Date: Mon, 14 Oct 2013 10:21:06 +0200 Subject: 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 Reviewed-by: Jan Beulich Acked-by: Keir Fraser --- xen/include/xen/event.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'xen/include/xen/event.h') 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) { -- cgit v1.2.3