diff options
author | David Vrabel <david.vrabel@citrix.com> | 2013-03-15 17:02:35 +0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2014-01-06 19:07:57 +0400 |
commit | 1fe565517b57676884349dccfd6ce853ec338636 (patch) | |
tree | a3e71bb46092dc611a7164f039a5f0cc2de719aa /drivers/xen/events/events_internal.h | |
parent | 8785c67663b6ba023c7c6d61d37d8e08c00d86a8 (diff) | |
download | linux-1fe565517b57676884349dccfd6ce853ec338636.tar.xz |
xen/events: use the FIFO-based ABI if available
Implement all the event channel port ops for the FIFO-based ABI.
If the hypervisor supports the FIFO-based ABI, enable it by
initializing the control block for the boot VCPU and subsequent VCPUs
as they are brought up and on resume. The event array is expanded as
required when event ports are setup.
The 'xen.fifo_events=0' command line option may be used to disable use
of the FIFO-based ABI.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'drivers/xen/events/events_internal.h')
-rw-r--r-- | drivers/xen/events/events_internal.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/xen/events/events_internal.h b/drivers/xen/events/events_internal.h index 2862e1cccf1c..677f41a0fff9 100644 --- a/drivers/xen/events/events_internal.h +++ b/drivers/xen/events/events_internal.h @@ -69,6 +69,7 @@ struct evtchn_ops { void (*unmask)(unsigned port); void (*handle_events)(unsigned cpu); + void (*resume)(void); }; extern const struct evtchn_ops *evtchn_ops; @@ -137,6 +138,13 @@ static inline void xen_evtchn_handle_events(unsigned cpu) return evtchn_ops->handle_events(cpu); } +static inline void xen_evtchn_resume(void) +{ + if (evtchn_ops->resume) + evtchn_ops->resume(); +} + void xen_evtchn_2l_init(void); +int xen_evtchn_fifo_init(void); #endif /* #ifndef __EVENTS_INTERNAL_H__ */ |