diff options
author | David Vrabel <david.vrabel@citrix.com> | 2013-10-14 10:21:06 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-10-14 10:21:06 +0200 |
commit | edc8872aeb4a6e6a50775d6088aab97324ee3e15 (patch) | |
tree | eb0ffab200c32152814c1b07177cb07b71c4b7f0 /xen/include/xen/event.h | |
parent | d2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5 (diff) | |
download | xen-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.h | 11 |
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) { |