[PATCH] shm_signal: clearly specify endianness

From: Ira W. Snyder
Date: Tue Dec 08 2009 - 15:58:00 EST


The shm_signal code uses structures which are designed to be shared between
disparate systems, such as 32-bit and 64-bit, as well as Linux and Windows.

Since shm_signal is primarily intended to be used by qemu/kvm, which
supports virtual guests with a different CPU architecture than the host,
clearly define an endianness for the shared structures.

The endianness is defined to be little-endian, to avoid byte swapping in
the most common case: x86.

Signed-off-by: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx>
---
include/linux/shm_signal.h | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/shm_signal.h b/include/linux/shm_signal.h
index 21cf750..b2efd72 100644
--- a/include/linux/shm_signal.h
+++ b/include/linux/shm_signal.h
@@ -32,8 +32,8 @@
*-----------
*/

-#define SHM_SIGNAL_MAGIC 0x58fa39df
-#define SHM_SIGNAL_VER 1
+#define SHM_SIGNAL_MAGIC cpu_to_le32(0x58fa39df)
+#define SHM_SIGNAL_VER cpu_to_le32(1)

struct shm_signal_irq {
__u8 enabled;
@@ -47,8 +47,8 @@ enum shm_signal_locality {
};

struct shm_signal_desc {
- __u32 magic;
- __u32 ver;
+ __le32 magic;
+ __le32 ver;
struct shm_signal_irq irq[2];
};

--
1.5.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/