All of lore.kernel.org
 help / color / mirror / Atom feed
* [virtio] [PATCH] introduction: document bitfield notation
@ 2018-02-28 19:16 Michael S. Tsirkin
  2018-03-05 11:14 ` Stefan Hajnoczi
  2018-03-05 14:20 ` [virtio] " Cornelia Huck
  0 siblings, 2 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2018-02-28 19:16 UTC (permalink / raw)
  To: virtio, virtio-dev; +Cc: cohuck

Bitfields are a useful and familiar way to specify sub-byte structure
layout. The only issue is that bitfield order isn't portable across
architectures.  Document that we list bitfields from least to
most significant one, and warn about portability issues.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 introduction.tex | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/introduction.tex b/introduction.tex
index 979881e..3cb7a70 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -157,5 +157,23 @@ in little-endian byte order.
 in big-endian byte order.
 \end{description}
 
+When documenting sub-byte data fields, C-like bitfield notation
+is used. Fields within an integer are always listed in order,
+from the least significant to the most significant bit.
+
+For example:
+\begin{lstlisting}
+be16 A : 15;
+be16 B : 1;
+\end{lstlisting}
+documents the value A stored in the low 15 bit of a 16 bit
+integer and the value B stored in the high bit of the 16 bit
+integer, the integer in turn using the big-endian byte order.
+
+Note that this notation typically matches the way bitfields are
+packed by C compilers on little-endian architectures but not the
+way bitfields are packed by C compilers on big-endian
+architectures.
+
 \newpage
 
-- 
MST

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that 
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-03-06  8:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-28 19:16 [virtio] [PATCH] introduction: document bitfield notation Michael S. Tsirkin
2018-03-05 11:14 ` Stefan Hajnoczi
2018-03-05 14:20 ` [virtio] " Cornelia Huck
2018-03-05 14:26   ` Michael S. Tsirkin
2018-03-05 16:04     ` Cornelia Huck
2018-03-05 21:11       ` Michael S. Tsirkin
2018-03-06  8:21         ` Cornelia Huck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.