From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Jan Beulich <jbeulich@suse.com>,
xen-devel@lists.xen.org
Subject: Re: [PATCH 12/13] xen/events: Add the hypervisor interface for the FIFO-based event channels
Date: Tue, 24 Sep 2013 11:06:22 -0400 [thread overview]
Message-ID: <20130924150622.GK4712@phenom.dumpdata.com> (raw)
In-Reply-To: <1379091601-30358-13-git-send-email-david.vrabel@citrix.com>
On Fri, Sep 13, 2013 at 06:00:00PM +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@citrix.com>
>
> Add the hypercall sub-ops and the structures for the shared data used
> in the FIFO-based event channel ABI.
And you should include an URL to the design document. Or include the
text version of it (if possible) in this description.
Perhaps also say in which version of the hypervisor this functionality
became available.
>
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
> include/xen/interface/event_channel.h | 67 +++++++++++++++++++++++++++++++++
> 1 files changed, 67 insertions(+), 0 deletions(-)
>
> diff --git a/include/xen/interface/event_channel.h b/include/xen/interface/event_channel.h
> index f494292..f54ad0a 100644
> --- a/include/xen/interface/event_channel.h
> +++ b/include/xen/interface/event_channel.h
> @@ -190,6 +190,48 @@ struct evtchn_reset {
> };
> typedef struct evtchn_reset evtchn_reset_t;
>
> +/*
> + * EVTCHNOP_init_control: initialize the control block for the FIFO ABI.
> + */
> +#define EVTCHNOP_init_control 11
> +struct evtchn_init_control {
> + /* IN parameters. */
> + uint64_t control_mfn;
Odd. The design document mentions 'control_gfn' ?
Should it be 'gmfn' ?
> + uint32_t offset;
> + uint32_t vcpu;
> + /* OUT parameters. */
> + uint8_t link_bits;
No __pad[7] ?
> +};
> +
> +/*
> + * EVTCHNOP_expand_array: add an additional page to the event array.
> + */
> +#define EVTCHNOP_expand_array 12
> +struct evtchn_expand_array {
> + /* IN parameters. */
> + uint64_t array_mfn;
Design says 'array_gfn' ?
> +};
> +
> +/*
> + * EVTCHNOP_set_priority: set the priority for an event channel.
> + */
> +#define EVTCHNOP_set_priority 13
> +struct evtchn_set_priority {
> + /* IN parameters. */
> + uint32_t port;
> + uint32_t priority;
> +};
> +
> +/*
> + * EVTCHNOP_set_limit: set the maximum event channel port that may be bound.
> + */
> +#define EVTCHNOP_set_limit 14
> +struct evtchn_set_limit {
> + /* IN parameters. */
> + uint32_t domid;
> + uint32_t max_port;
> +};
> +
> struct evtchn_op {
> uint32_t cmd; /* EVTCHNOP_* */
> union {
> @@ -207,4 +249,29 @@ struct evtchn_op {
> };
> DEFINE_GUEST_HANDLE_STRUCT(evtchn_op);
>
> +/*
> + * FIFO ABI
> + */
> +
> +/* Events may have priorities from 0 (highest) to 15 (lowest). */
> +#define EVTCHN_FIFO_PRIORITY_MIN 15
> +#define EVTCHN_FIFO_PRIORITY_DEFAULT 7
> +
> +#define EVTCHN_FIFO_MAX_QUEUES (EVTCHN_FIFO_PRIORITY_MIN + 1)
> +
> +typedef uint32_t event_word_t;
> +
> +#define EVTCHN_FIFO_PENDING 31
> +#define EVTCHN_FIFO_MASKED 30
> +#define EVTCHN_FIFO_LINKED 29
> +
> +#define EVTCHN_FIFO_LINK_BITS 17
> +#define EVTCHN_FIFO_LINK_MASK ((1 << EVTCHN_FIFO_LINK_BITS) - 1)
> +
> +struct evtchn_fifo_control_block {
> + uint32_t ready;
> + uint32_t _rsvd1;
The design document looks to have 'READY' be 2 bytes? Octet 0 and 1?
(figure 2).
Which one is correct?
> + event_word_t head[EVTCHN_FIFO_MAX_QUEUES];
> +};
> +
> #endif /* __XEN_PUBLIC_EVENT_CHANNEL_H__ */
> --
> 1.7.2.5
>
next prev parent reply other threads:[~2013-09-24 15:06 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-13 16:59 (no subject) David Vrabel
2013-09-13 16:59 ` [PATCH 01/13] xen/events: refactor retrigger_dynirq() and resend_irq_on_evtchn() David Vrabel
2013-09-24 14:37 ` Konrad Rzeszutek Wilk
2013-09-24 16:04 ` David Vrabel
2013-09-13 16:59 ` [PATCH 02/13] xen/events: remove unnecessary init_evtchn_cpu_bindings() David Vrabel
2013-09-24 14:40 ` Konrad Rzeszutek Wilk
2013-09-24 16:06 ` David Vrabel
2013-09-24 16:49 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 03/13] xen/events: introduce test_and_set_mask David Vrabel
2013-09-24 14:40 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 04/13] xen/events: replace raw bit ops with functions David Vrabel
2013-09-24 14:41 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 05/13] xen/events: move drivers/xen/events.c into drivers/xen/events/ David Vrabel
2013-09-13 16:59 ` [PATCH 06/13] xen/events: move 2-level specific code into its own file David Vrabel
2013-09-13 16:59 ` [PATCH 07/13] xen/events: add struct evtchn_ops for the low-level port operations David Vrabel
2013-09-24 14:44 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 08/13] xen/events: allow setup of irq_info to fail David Vrabel
2013-09-24 14:47 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 09/13] xen/events: add a evtchn_op for port setup David Vrabel
2013-09-24 14:47 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 10/13] xen/events: Refactor evtchn_to_irq array to be dynamically allocated David Vrabel
2013-09-24 14:58 ` Konrad Rzeszutek Wilk
2013-09-26 10:53 ` David Vrabel
2013-09-26 12:51 ` Konrad Rzeszutek Wilk
2013-09-13 16:59 ` [PATCH 11/13] xen/events: add xen_evtchn_mask_all() David Vrabel
2013-09-24 14:58 ` Konrad Rzeszutek Wilk
2013-09-13 17:00 ` [PATCH 12/13] xen/events: Add the hypervisor interface for the FIFO-based event channels David Vrabel
2013-09-24 15:06 ` Konrad Rzeszutek Wilk [this message]
2013-09-26 11:06 ` David Vrabel
2013-09-24 15:08 ` Konrad Rzeszutek Wilk
2013-09-24 16:11 ` David Vrabel
2013-09-24 16:51 ` Konrad Rzeszutek Wilk
2013-09-13 17:00 ` [PATCH 13/13] xen/events: use the FIFO-based ABI if available David Vrabel
2013-09-24 15:50 ` Konrad Rzeszutek Wilk
2013-09-24 16:48 ` David Vrabel
2013-09-24 17:04 ` Konrad Rzeszutek Wilk
2013-09-13 17:03 ` [RFC PATCHv3 00/12] Linux: FIFO-based event channel ABI David Vrabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130924150622.GK4712@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=jbeulich@suse.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.