From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: lars.kurth@citrix.com, sstabellini@kernel.org,
vlad.babchuk@gmail.com, ian.jackson@eu.citrix.com,
dario.faggioli@citrix.com, tim@xen.org, andrii.anisov@gmail.com,
olekstysh@gmail.com, embedded-pv-devel@lists.xenproject.org,
al1img@gmail.com, david.vrabel@citrix.com, JBeulich@suse.com,
joculator@gmail.com
Subject: Re: [PATCH v1] displif: add ABI for para-virtual display
Date: Wed, 11 Jan 2017 09:59:36 +0200 [thread overview]
Message-ID: <52d6bbbe-9cd8-2c93-270a-d8d9124cdce3@gmail.com> (raw)
In-Reply-To: <1482394368-19391-1-git-send-email-andr2000@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 800 bytes --]
As agreed on PV call PFA pahole results
On 12/22/2016 10:12 AM, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
>
> This protocol aims to provide a unified protocol which fits more
> sophisticated use-cases than a framebuffer device can handle. At the
> moment basic functionality is supported with the intention to extend:
> o multiple dynamically allocated/destroyed framebuffers
> o buffers of arbitrary sizes
> o better configuration options including multiple display support
>
> Oleksandr Andrushchenko (1):
> displif: add ABI for para-virtual display
>
> xen/include/public/io/displif.h | 730 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 730 insertions(+)
> create mode 100644 xen/include/public/io/displif.h
>
[-- Attachment #1.2: Type: text/html, Size: 1324 bytes --]
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: displif.diff --]
[-- Type: text/x-patch; name="displif.diff", Size: 0 bytes --]
[-- Attachment #3: displif-x32.txt --]
[-- Type: text/plain, Size: 4118 bytes --]
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 */
};
[-- Attachment #4: displif-x64.txt --]
[-- Type: text/plain, Size: 4118 bytes --]
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 */
};
[-- Attachment #5: Type: text/plain, Size: 127 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
prev parent reply other threads:[~2017-01-11 7:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-22 8:12 [PATCH v1] displif: add ABI for para-virtual display Oleksandr Andrushchenko
2016-12-22 8:12 ` Oleksandr Andrushchenko
2017-01-05 6:33 ` Oleksandr Andrushchenko
2017-01-05 15:45 ` Jan Beulich
2017-01-05 16:03 ` Oleksandr Andrushchenko
2017-01-05 16:12 ` Jan Beulich
2017-01-05 18:07 ` Oleksandr Andrushchenko
2017-01-26 18:39 ` Oleksandr Andrushchenko
2017-01-27 7:56 ` Jan Beulich
2017-01-27 8:11 ` Oleksandr Andrushchenko
2017-01-27 8:19 ` Jan Beulich
2017-01-11 7:59 ` Oleksandr Andrushchenko [this message]
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=52d6bbbe-9cd8-2c93-270a-d8d9124cdce3@gmail.com \
--to=andr2000@gmail.com \
--cc=JBeulich@suse.com \
--cc=al1img@gmail.com \
--cc=andrii.anisov@gmail.com \
--cc=dario.faggioli@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=embedded-pv-devel@lists.xenproject.org \
--cc=ian.jackson@eu.citrix.com \
--cc=joculator@gmail.com \
--cc=lars.kurth@citrix.com \
--cc=olekstysh@gmail.com \
--cc=sstabellini@kernel.org \
--cc=tim@xen.org \
--cc=vlad.babchuk@gmail.com \
--cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).