|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [For Linux 4/4] xen/displif: add ABI for para-virtual display
Hi, Julien! On 04/07/2017 04:50 PM, Julien Grall wrote: Hi Oleksandr, On 07/04/17 09:30, Oleksandr Andrushchenko wrote:+/*+ ******************************************************************************+ * Back to front events delivery+ ****************************************************************************** + * In order to deliver asynchronous events from back to front a shared page is+ * allocated by front and its granted reference propagated to back via + * XenStore entries (evt-ring-ref/evt-event-channel).+ * This page has a common header used by both front and back to synchronize + * access and control event's ring buffer, while back being a producer of the + * events and front being a consumer. The rest of the page after the header Will the following satisfy the requirement? #define XENDISPL_EVENT_PAGE_SIZE XEN_PAGE_SIZE +#define XENDISPL_IN_RING_OFFS (sizeof(struct xendispl_event_page))+#define XENDISPL_IN_RING_SIZE (XENDISPL_EVENT_PAGE_SIZE - XENDISPL_IN_RING_OFFS) +#define XENDISPL_IN_RING_LEN (XENDISPL_IN_RING_SIZE / sizeof(struct xendispl_evt))+#define XENDISPL_IN_RING(page) \ + ((struct xendispl_evt *)((char *)(page) + XENDISPL_IN_RING_OFFS)) +#define XENDISPL_IN_RING_REF(page, idx) \ + (XENDISPL_IN_RING((page))[(idx) % XENDISPL_IN_RING_LEN]) + +#endif /* __XEN_PUBLIC_IO_DISPLIF_H__ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */Cheers, Thank you, Oleksandr _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |