evtchn_ops
static const struct evtchn_ops evtchn_ops_2l = {
evtchn_ops = &evtchn_ops_2l;
return evtchn_ops->nr_channels();
const struct evtchn_ops *evtchn_ops;
if (evtchn_ops->percpu_init)
ret = evtchn_ops->percpu_init(cpu);
if (evtchn_ops->percpu_deinit)
ret = evtchn_ops->percpu_deinit(cpu);
static const struct evtchn_ops evtchn_ops_fifo = {
evtchn_ops = &evtchn_ops_fifo;
if (evtchn_ops->resume)
evtchn_ops->resume();
extern const struct evtchn_ops *evtchn_ops;
return evtchn_ops->max_channels();
if (evtchn_ops->setup)
return evtchn_ops->setup(evtchn);
if (evtchn_ops->remove)
evtchn_ops->remove(evtchn, cpu);
evtchn_ops->bind_to_cpu(evtchn, cpu, old_cpu);
evtchn_ops->clear_pending(port);
evtchn_ops->set_pending(port);
return evtchn_ops->is_pending(port);
return evtchn_ops->mask(port);
return evtchn_ops->unmask(port);
return evtchn_ops->handle_events(cpu, ctrl);