Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b45d8cb054d7677d75176ae22a584fd84e4650e9
Commit:     b45d8cb054d7677d75176ae22a584fd84e4650e9
Parent:     9653c4aff94e43de5f4ef918d47e00018beb4105
Author:     Rusty Russell <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 22 10:56:24 2007 +1000
Committer:  Rusty Russell <[EMAIL PROTECTED]>
CommitDate: Tue Oct 23 15:49:49 2007 +1000

    Make lguest_launcher.h types userspace-friendly
    
    lguest_launcher.h uses "u32" not "__u32", which sets a bad example.  Fix 
that,
    and include <linux/types.h>.
    
    This means we need to use -I on the Launcher build line so types.h is found.
    
    Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>
---
 Documentation/lguest/Makefile   |    2 +-
 Documentation/lguest/lguest.c   |    4 ++--
 include/linux/lguest_launcher.h |   21 +++++++++++----------
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/Documentation/lguest/Makefile b/Documentation/lguest/Makefile
index c0b7a45..526c15f 100644
--- a/Documentation/lguest/Makefile
+++ b/Documentation/lguest/Makefile
@@ -11,7 +11,7 @@ endif
 include $(KBUILD_OUTPUT)/.config
 LGUEST_GUEST_TOP := ($(CONFIG_PAGE_OFFSET) - 0x08000000)
 
-CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -Wl,-T,lguest.lds
+CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include 
-Wl,-T,lguest.lds
 LDLIBS:=-lz
 # Removing this works for some versions of ld.so (eg. Ubuntu Feisty) and
 # not others (eg. FC7).
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c
index 276f2f6..fa838e2 100644
--- a/Documentation/lguest/lguest.c
+++ b/Documentation/lguest/lguest.c
@@ -45,8 +45,8 @@ typedef unsigned long long u64;
 typedef uint32_t u32;
 typedef uint16_t u16;
 typedef uint8_t u8;
-#include "../../include/linux/lguest_launcher.h"
-#include "../../include/asm-x86/e820.h"
+#include "linux/lguest_launcher.h"
+#include "asm-x86/e820.h"
 /*:*/
 
 #define PAGE_PRESENT 0x7       /* Present, RW, Execute */
diff --git a/include/linux/lguest_launcher.h b/include/linux/lguest_launcher.h
index 6416705..736e19a 100644
--- a/include/linux/lguest_launcher.h
+++ b/include/linux/lguest_launcher.h
@@ -1,6 +1,7 @@
 #ifndef _ASM_LGUEST_USER
 #define _ASM_LGUEST_USER
 /* Everything the "lguest" userspace program needs to know. */
+#include <linux/types.h>
 /* They can register up to 32 arrays of lguest_dma. */
 #define LGUEST_MAX_DMA         32
 /* At most we can dma 16 lguest_dma in one op. */
@@ -37,9 +38,9 @@
 struct lguest_dma
 {
        /* 0 if free to be used, filled by the Host. */
-       u32 used_len;
+       __u32 used_len;
+       __u16 len[LGUEST_MAX_DMA_SECTIONS];
        unsigned long addr[LGUEST_MAX_DMA_SECTIONS];
-       u16 len[LGUEST_MAX_DMA_SECTIONS];
 };
 /*:*/
 
@@ -52,11 +53,11 @@ struct lguest_block_page
 {
        /* 0 is a read, 1 is a write. */
        int type;
-       u32 sector;     /* Offset in device = sector * 512. */
-       u32 bytes;      /* Length expected to be read/written in bytes */
+       __u32 sector;   /* Offset in device = sector * 512. */
+       __u32 bytes;    /* Length expected to be read/written in bytes */
        /* 0 = pending, 1 = done, 2 = done, error */
        int result;
-       u32 num_sectors; /* Disk length = num_sectors * 512 */
+       __u32 num_sectors; /* Disk length = num_sectors * 512 */
 };
 
 /*D:520 The network device is basically a memory page where all the Guests on
@@ -86,21 +87,21 @@ struct lguest_net
  */
 struct lguest_device_desc {
        /* The device type: console, network, disk etc. */
-       u16 type;
+       __u16 type;
 #define LGUEST_DEVICE_T_CONSOLE        1
 #define LGUEST_DEVICE_T_NET    2
 #define LGUEST_DEVICE_T_BLOCK  3
 
        /* The specific features of this device: these depends on device type
         * except for LGUEST_DEVICE_F_RANDOMNESS. */
-       u16 features;
+       __u16 features;
 #define LGUEST_NET_F_NOCSUM            0x4000 /* Don't bother checksumming */
 #define LGUEST_DEVICE_F_RANDOMNESS     0x8000 /* IRQ is fairly random */
 
        /* This is how the Guest reports status of the device: the Host can set
         * LGUEST_DEVICE_S_REMOVED to indicate removal, but the rest are only
         * ever manipulated by the Guest, and only ever set. */
-       u16 status;
+       __u16 status;
 /* 256 and above are device specific. */
 #define LGUEST_DEVICE_S_ACKNOWLEDGE    1 /* We have seen device. */
 #define LGUEST_DEVICE_S_DRIVER         2 /* We have found a driver */
@@ -111,8 +112,8 @@ struct lguest_device_desc {
 
        /* Each device exists somewhere in Guest physical memory, over some
         * number of pages. */
-       u16 num_pages;
-       u32 pfn;
+       __u16 num_pages;
+       __u32 pfn;
 };
 /*:*/
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to