[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 09/12] evtchn: move FIFO-private struct declarations
There's no need to expose them. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- I wonder whether we shouldn't do away with event_fifo.h altogether. --- a/xen/common/event_fifo.c +++ b/xen/common/event_fifo.c @@ -21,6 +21,27 @@ #include <public/event_channel.h> +struct evtchn_fifo_queue { + uint32_t *head; /* points into control block */ + uint32_t tail; + uint8_t priority; + spinlock_t lock; +}; + +struct evtchn_fifo_vcpu { + struct evtchn_fifo_control_block *control_block; + struct evtchn_fifo_queue queue[EVTCHN_FIFO_MAX_QUEUES]; +}; + +#define EVTCHN_FIFO_EVENT_WORDS_PER_PAGE (PAGE_SIZE / sizeof(event_word_t)) +#define EVTCHN_FIFO_MAX_EVENT_ARRAY_PAGES \ + (EVTCHN_FIFO_NR_CHANNELS / EVTCHN_FIFO_EVENT_WORDS_PER_PAGE) + +struct evtchn_fifo_domain { + event_word_t *event_array[EVTCHN_FIFO_MAX_EVENT_ARRAY_PAGES]; + unsigned int num_evtchns; +}; + static inline event_word_t *evtchn_fifo_word_from_port(const struct domain *d, unsigned int port) { --- a/xen/include/xen/event_fifo.h +++ b/xen/include/xen/event_fifo.h @@ -9,27 +9,6 @@ #ifndef __XEN_EVENT_FIFO_H__ #define __XEN_EVENT_FIFO_H__ -struct evtchn_fifo_queue { - uint32_t *head; /* points into control block */ - uint32_t tail; - uint8_t priority; - spinlock_t lock; -}; - -struct evtchn_fifo_vcpu { - struct evtchn_fifo_control_block *control_block; - struct evtchn_fifo_queue queue[EVTCHN_FIFO_MAX_QUEUES]; -}; - -#define EVTCHN_FIFO_EVENT_WORDS_PER_PAGE (PAGE_SIZE / sizeof(event_word_t)) -#define EVTCHN_FIFO_MAX_EVENT_ARRAY_PAGES \ - (EVTCHN_FIFO_NR_CHANNELS / EVTCHN_FIFO_EVENT_WORDS_PER_PAGE) - -struct evtchn_fifo_domain { - event_word_t *event_array[EVTCHN_FIFO_MAX_EVENT_ARRAY_PAGES]; - unsigned int num_evtchns; -}; - int evtchn_fifo_init_control(struct evtchn_init_control *init_control); int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array); void evtchn_fifo_destroy(struct domain *domain);
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |