struct xendispl_dbuf_create_req {
	uint64_t                   dbuf_cookie;          /*     0     8 */
	uint32_t                   width;                /*     8     4 */
	uint32_t                   height;               /*    12     4 */
	uint32_t                   bpp;                  /*    16     4 */
	uint32_t                   buffer_sz;            /*    20     4 */
	uint32_t                   flags;                /*    24     4 */
	grant_ref_t                gref_directory_start; /*    28     4 */

	/* size: 32, cachelines: 1, members: 7 */
	/* last cacheline: 32 bytes */
};
struct xendispl_page_directory {
	grant_ref_t                gref_dir_next_page;   /*     0     4 */
	grant_ref_t                gref[1];              /*     4     4 */

	/* size: 8, cachelines: 1, members: 2 */
	/* last cacheline: 8 bytes */
};
struct xendispl_dbuf_destroy_req {
	uint64_t                   dbuf_cookie;          /*     0     8 */

	/* size: 8, cachelines: 1, members: 1 */
	/* last cacheline: 8 bytes */
};
struct xendispl_fb_attach_req {
	uint64_t                   dbuf_cookie;          /*     0     8 */
	uint64_t                   fb_cookie;            /*     8     8 */
	uint32_t                   width;                /*    16     4 */
	uint32_t                   height;               /*    20     4 */
	uint32_t                   pixel_format;         /*    24     4 */

	/* size: 28, cachelines: 1, members: 5 */
	/* last cacheline: 28 bytes */
};
struct xendispl_fb_detach_req {
	uint64_t                   fb_cookie;            /*     0     8 */

	/* size: 8, cachelines: 1, members: 1 */
	/* last cacheline: 8 bytes */
};
struct xendispl_set_config_req {
	uint64_t                   fb_cookie;            /*     0     8 */
	uint32_t                   x;                    /*     8     4 */
	uint32_t                   y;                    /*    12     4 */
	uint32_t                   width;                /*    16     4 */
	uint32_t                   height;               /*    20     4 */
	uint32_t                   bpp;                  /*    24     4 */

	/* size: 28, cachelines: 1, members: 6 */
	/* last cacheline: 28 bytes */
};
struct xendispl_page_flip_req {
	uint64_t                   fb_cookie;            /*     0     8 */

	/* size: 8, cachelines: 1, members: 1 */
	/* last cacheline: 8 bytes */
};
struct xendispl_pg_flip_evt {
	uint64_t                   fb_cookie;            /*     0     8 */

	/* size: 8, cachelines: 1, members: 1 */
	/* last cacheline: 8 bytes */
};
struct xendispl_req {
	uint16_t                   id;                   /*     0     2 */
	uint8_t                    operation;            /*     2     1 */
	uint8_t                    reserved[5];          /*     3     5 */
	union {
		struct xendispl_dbuf_create_req dbuf_create; /*          32 */
		struct xendispl_dbuf_destroy_req dbuf_destroy; /*           8 */
		struct xendispl_fb_attach_req fb_attach; /*          28 */
		struct xendispl_fb_detach_req fb_detach; /*           8 */
		struct xendispl_set_config_req set_config; /*          28 */
		struct xendispl_page_flip_req pg_flip;   /*           8 */
		uint8_t            reserved[56];         /*          56 */
	} op;                                            /*     8    56 */

	/* size: 64, cachelines: 1, members: 4 */
};
struct xendispl_resp {
	uint16_t                   id;                   /*     0     2 */
	uint8_t                    operation;            /*     2     1 */
	int8_t                     status;               /*     3     1 */
	uint8_t                    reserved[60];         /*     4    60 */

	/* size: 64, cachelines: 1, members: 4 */
};
struct xendispl_evt {
	uint16_t                   id;                   /*     0     2 */
	uint8_t                    type;                 /*     2     1 */
	uint8_t                    reserved[5];          /*     3     5 */
	union {
		struct xendispl_pg_flip_evt pg_flip;     /*           8 */
		uint8_t            reserved[56];         /*          56 */
	} op;                                            /*     8    56 */

	/* size: 64, cachelines: 1, members: 4 */
};