As agreed on PV call PFA pahole results
On 01/06/2017 11:32 AM, Oleksandr Andrushchenko wrote:
From: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com> Hi, all! This series updates existing kbdif protocol documentation and adds multi-touch support Thank you, Oleksandr Andrushchenko Oleksandr Andrushchenko (2): xen/kbdif: update protocol documentation xen/kbdif: add multi-touch support xen/include/public/io/kbdif.h | 477 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 450 insertions(+), 27 deletions(-)
struct xenkbd_motion { uint8_t type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ int32_t rel_x; /* 4 4 */ int32_t rel_y; /* 8 4 */ int32_t rel_z; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* sum members: 13, holes: 1, sum holes: 3 */ /* last cacheline: 16 bytes */ }; struct xenkbd_key { uint8_t type; /* 0 1 */ uint8_t pressed; /* 1 1 */ /* XXX 2 bytes hole, try to pack */ uint32_t keycode; /* 4 4 */ /* size: 8, cachelines: 1, members: 3 */ /* sum members: 6, holes: 1, sum holes: 2 */ /* last cacheline: 8 bytes */ }; struct xenkbd_position { uint8_t type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ int32_t abs_x; /* 4 4 */ int32_t abs_y; /* 8 4 */ int32_t rel_z; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* sum members: 13, holes: 1, sum holes: 3 */ /* last cacheline: 16 bytes */ }; struct xenkbd_mtouch { uint8_t type; /* 0 1 */ uint8_t event_type; /* 1 1 */ uint8_t contact_id; /* 2 1 */ uint8_t reserved[5]; /* 3 5 */ union { struct { int32_t abs_x; /* 8 4 */ int32_t abs_y; /* 12 4 */ } pos; /* 8 */ struct { uint32_t major; /* 8 4 */ uint32_t minor; /* 12 4 */ } shape; /* 8 */ int16_t orientation; /* 2 */ } u; /* 8 8 */ /* size: 16, cachelines: 1, members: 5 */ /* last cacheline: 16 bytes */ }; struct xenkbd_page { uint32_t in_cons; /* 0 4 */ uint32_t in_prod; /* 4 4 */ uint32_t out_cons; /* 8 4 */ uint32_t out_prod; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* last cacheline: 16 bytes */ };
struct xenkbd_motion { uint8_t type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ int32_t rel_x; /* 4 4 */ int32_t rel_y; /* 8 4 */ int32_t rel_z; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* sum members: 13, holes: 1, sum holes: 3 */ /* last cacheline: 16 bytes */ }; struct xenkbd_key { uint8_t type; /* 0 1 */ uint8_t pressed; /* 1 1 */ /* XXX 2 bytes hole, try to pack */ uint32_t keycode; /* 4 4 */ /* size: 8, cachelines: 1, members: 3 */ /* sum members: 6, holes: 1, sum holes: 2 */ /* last cacheline: 8 bytes */ }; struct xenkbd_position { uint8_t type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ int32_t abs_x; /* 4 4 */ int32_t abs_y; /* 8 4 */ int32_t rel_z; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* sum members: 13, holes: 1, sum holes: 3 */ /* last cacheline: 16 bytes */ }; struct xenkbd_mtouch { uint8_t type; /* 0 1 */ uint8_t event_type; /* 1 1 */ uint8_t contact_id; /* 2 1 */ uint8_t reserved[5]; /* 3 5 */ union { struct { int32_t abs_x; /* 8 4 */ int32_t abs_y; /* 12 4 */ } pos; /* 8 */ struct { uint32_t major; /* 8 4 */ uint32_t minor; /* 12 4 */ } shape; /* 8 */ int16_t orientation; /* 2 */ } u; /* 8 8 */ /* size: 16, cachelines: 1, members: 5 */ /* last cacheline: 16 bytes */ }; struct xenkbd_page { uint32_t in_cons; /* 0 4 */ uint32_t in_prod; /* 4 4 */ uint32_t out_cons; /* 8 4 */ uint32_t out_prod; /* 12 4 */ /* size: 16, cachelines: 1, members: 4 */ /* last cacheline: 16 bytes */ };
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel