> -----Original Message-----
> From: Xen-devel <[email protected]> On Behalf Of Jan
> Beulich
> Sent: 28 September 2020 12:01
> To: [email protected]
> Cc: Andrew Cooper <[email protected]>; George Dunlap
> <[email protected]>; Ian
> Jackson <[email protected]>; Julien Grall <[email protected]>; Wei Liu
> <[email protected]>; Stefano Stabellini
> <[email protected]>
> Subject: [PATCH 09/12] evtchn: move FIFO-private struct declarations
>
> There's no need to expose them.
>
> Signed-off-by: Jan Beulich <[email protected]>
> ---
> 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);
>