[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] pvcalls: Document explicitly the padding for all arches



From: Julien Grall <jgrall@xxxxxxxxxx>

The documentation of pvcalls only describes the padding for i386. This
is a bit odd as there are some implicit padding for 64-bit (e.g in
xen_pvcalls_release) and this doesn't cater other 32-bit arch.

Remove the #ifdef in the documentation to show the padding is present on
all arches and take the opportunity to describe the padding in the
public header as well.

Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>

---

AFAICT, we cannot mandate the padding to be 0 as they are already
present.
---
 docs/misc/pvcalls.pandoc        | 8 --------
 xen/include/public/io/pvcalls.h | 4 ++++
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/docs/misc/pvcalls.pandoc b/docs/misc/pvcalls.pandoc
index 665dad556c..971cd8f4b1 100644
--- a/docs/misc/pvcalls.pandoc
+++ b/docs/misc/pvcalls.pandoc
@@ -246,9 +246,7 @@ The format is defined as follows:
                        uint32_t domain;
                        uint32_t type;
                        uint32_t protocol;
-                       #ifdef CONFIG_X86_32
                        uint8_t pad[4];
-                       #endif
                } socket;
                struct xen_pvcalls_connect {
                        uint64_t id;
@@ -257,16 +255,12 @@ The format is defined as follows:
                        uint32_t flags;
                        grant_ref_t ref;
                        uint32_t evtchn;
-                       #ifdef CONFIG_X86_32
                        uint8_t pad[4];
-                       #endif
                } connect;
                struct xen_pvcalls_release {
                        uint64_t id;
                        uint8_t reuse;
-                       #ifdef CONFIG_X86_32
                        uint8_t pad[7];
-                       #endif
                } release;
                struct xen_pvcalls_bind {
                        uint64_t id;
@@ -276,9 +270,7 @@ The format is defined as follows:
                struct xen_pvcalls_listen {
                        uint64_t id;
                        uint32_t backlog;
-                       #ifdef CONFIG_X86_32
                        uint8_t pad[4];
-                       #endif
                } listen;
                struct xen_pvcalls_accept {
                        uint64_t id;
diff --git a/xen/include/public/io/pvcalls.h b/xen/include/public/io/pvcalls.h
index cb8171275c..f6048ddc63 100644
--- a/xen/include/public/io/pvcalls.h
+++ b/xen/include/public/io/pvcalls.h
@@ -65,6 +65,7 @@ struct xen_pvcalls_request {
             uint32_t domain;
             uint32_t type;
             uint32_t protocol;
+            uint8_t pad[4];
         } socket;
         struct xen_pvcalls_connect {
             uint64_t id;
@@ -73,10 +74,12 @@ struct xen_pvcalls_request {
             uint32_t flags;
             grant_ref_t ref;
             uint32_t evtchn;
+            uint8_t pad[4];
         } connect;
         struct xen_pvcalls_release {
             uint64_t id;
             uint8_t reuse;
+            uint8_t pad[7];
         } release;
         struct xen_pvcalls_bind {
             uint64_t id;
@@ -86,6 +89,7 @@ struct xen_pvcalls_request {
         struct xen_pvcalls_listen {
             uint64_t id;
             uint32_t backlog;
+            uint8_t pad[4];
         } listen;
         struct xen_pvcalls_accept {
             uint64_t id;
-- 
2.17.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.