> -----Original Message-----
> From: Xen-devel <xen-devel-boun...@lists.xenproject.org> On Behalf Of Jan
> Beulich
> Sent: 28 September 2020 12:01
> To: xen-devel@lists.xenproject.org
> Cc: Andrew Cooper <andrew.coop...@citrix.com>; George Dunlap
> <george.dun...@eu.citrix.com>; Ian
> Jackson <i...@xenproject.org>; Julien Grall <jul...@xen.org>; Wei Liu
> <w...@xen.org>; Stefano Stabellini
> <sstabell...@kernel.org>
> Subject: [PATCH 09/12] evtchn: move FIFO-private struct declarations
>
> There's no need to expose them.
>
> Signed-off-by: Jan Beulich <jbeul...@suse.com>
> ---
> I wonder whether we shouldn't do away with event_fifo.h altogether.
>
+1
I can't see why it needs to exist. 2l doesn't have a header.
Paul
> --- 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);
>