
From: Jeff Dike <jdike@addtoit.com>

This makes a bunch of 64-bit cleanups exposed by x86_64.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/um/drivers/cow.h           |    5 +++--
 25-akpm/arch/um/drivers/cow_sys.h       |    4 ++--
 25-akpm/arch/um/drivers/cow_user.c      |    6 +++---
 25-akpm/arch/um/drivers/mconsole_kern.c |    9 ++++++---
 25-akpm/arch/um/drivers/ubd_user.c      |    2 +-
 25-akpm/arch/um/include/um_uaccess.h    |    2 +-
 6 files changed, 16 insertions(+), 12 deletions(-)

diff -puN arch/um/drivers/cow.h~uml-64-bit-cleanups arch/um/drivers/cow.h
--- 25/arch/um/drivers/cow.h~uml-64-bit-cleanups	2005-01-09 23:44:19.113257832 -0800
+++ 25-akpm/arch/um/drivers/cow.h	2005-01-09 23:44:19.123256312 -0800
@@ -21,11 +21,12 @@ extern int file_reader(__u64 offset, cha
 extern int read_cow_header(int (*reader)(__u64, char *, int, void *),
 			   void *arg, __u32 *version_out,
 			   char **backing_file_out, time_t *mtime_out,
-			   __u64 *size_out, int *sectorsize_out,
+			   unsigned long long *size_out, int *sectorsize_out,
 			   __u32 *align_out, int *bitmap_offset_out);
 
 extern int write_cow_header(char *cow_file, int fd, char *backing_file,
-			    int sectorsize, int alignment, long long *size);
+			    int sectorsize, int alignment,
+			    unsigned long long *size);
 
 extern void cow_sizes(int version, __u64 size, int sectorsize, int align,
 		      int bitmap_offset, unsigned long *bitmap_len_out,
diff -puN arch/um/drivers/cow_sys.h~uml-64-bit-cleanups arch/um/drivers/cow_sys.h
--- 25/arch/um/drivers/cow_sys.h~uml-64-bit-cleanups	2005-01-09 23:44:19.114257680 -0800
+++ 25-akpm/arch/um/drivers/cow_sys.h	2005-01-09 23:44:19.124256160 -0800
@@ -23,12 +23,12 @@ static inline char *cow_strdup(char *str
 	return(uml_strdup(str));
 }
 
-static inline int cow_seek_file(int fd, __u64 offset)
+static inline int cow_seek_file(int fd, unsigned long long offset)
 {
 	return(os_seek_file(fd, offset));
 }
 
-static inline int cow_file_size(char *file, __u64 *size_out)
+static inline int cow_file_size(char *file, unsigned long long *size_out)
 {
 	return(os_file_size(file, size_out));
 }
diff -puN arch/um/drivers/cow_user.c~uml-64-bit-cleanups arch/um/drivers/cow_user.c
--- 25/arch/um/drivers/cow_user.c~uml-64-bit-cleanups	2005-01-09 23:44:19.116257376 -0800
+++ 25-akpm/arch/um/drivers/cow_user.c	2005-01-09 23:44:19.124256160 -0800
@@ -159,7 +159,7 @@ static int absolutize(char *to, int size
 }
 
 int write_cow_header(char *cow_file, int fd, char *backing_file,
-		     int sectorsize, int alignment, long long *size)
+		     int sectorsize, int alignment, unsigned long long *size)
 {
 	struct cow_header_v3 *header;
 	unsigned long modtime;
@@ -236,7 +236,7 @@ int file_reader(__u64 offset, char *buf,
 
 int read_cow_header(int (*reader)(__u64, char *, int, void *), void *arg,
 		    __u32 *version_out, char **backing_file_out,
-		    time_t *mtime_out, __u64 *size_out,
+		    time_t *mtime_out, unsigned long long *size_out,
 		    int *sectorsize_out, __u32 *align_out,
 		    int *bitmap_offset_out)
 {
@@ -329,7 +329,7 @@ int init_cow_file(int fd, char *cow_file
 		  int alignment, int *bitmap_offset_out,
 		  unsigned long *bitmap_len_out, int *data_offset_out)
 {
-	__u64 size, offset;
+	unsigned long long size, offset;
 	char zero = 0;
 	int err;
 
diff -puN arch/um/drivers/mconsole_kern.c~uml-64-bit-cleanups arch/um/drivers/mconsole_kern.c
--- 25/arch/um/drivers/mconsole_kern.c~uml-64-bit-cleanups	2005-01-09 23:44:19.117257224 -0800
+++ 25-akpm/arch/um/drivers/mconsole_kern.c	2005-01-09 23:44:19.125256008 -0800
@@ -73,11 +73,12 @@ DECLARE_WORK(mconsole_work, mc_work_proc
 static irqreturn_t mconsole_interrupt(int irq, void *dev_id,
 				      struct pt_regs *regs)
 {
-	int fd;
+	/* long to avoid size mismatch warnings from gcc */
+	long fd;
 	struct mconsole_entry *new;
 	struct mc_request req;
 
-	fd = (int) dev_id;
+	fd = (long) dev_id;
 	while (mconsole_get_request(fd, &req)){
 		if(req.cmd->context == MCONSOLE_INTR)
 			(*req.cmd->handler)(&req);
@@ -457,7 +458,9 @@ static char *notify_socket = NULL; 
 
 int mconsole_init(void)
 {
-	int err, sock;
+	/* long to avoid size mismatch warnings from gcc */
+	long sock;
+	int err;
 	char file[256];
 
 	if(umid_file_name("mconsole", file, sizeof(file))) return(-1);
diff -puN arch/um/drivers/ubd_user.c~uml-64-bit-cleanups arch/um/drivers/ubd_user.c
--- 25/arch/um/drivers/ubd_user.c~uml-64-bit-cleanups	2005-01-09 23:44:19.118257072 -0800
+++ 25-akpm/arch/um/drivers/ubd_user.c	2005-01-09 23:44:19.126255856 -0800
@@ -107,7 +107,7 @@ int open_ubd_file(char *file, struct ope
 		  int *create_cow_out)
 {
 	time_t mtime;
-	__u64 size;
+	unsigned long long size;
 	__u32 version, align;
 	char *backing_file;
 	int fd, err, sectorsize, same, mode = 0644;
diff -puN arch/um/include/um_uaccess.h~uml-64-bit-cleanups arch/um/include/um_uaccess.h
--- 25/arch/um/include/um_uaccess.h~uml-64-bit-cleanups	2005-01-09 23:44:19.120256768 -0800
+++ 25-akpm/arch/um/include/um_uaccess.h	2005-01-09 23:44:19.126255856 -0800
@@ -105,7 +105,7 @@ static inline int clear_user(void *mem, 
  * On exception, returns 0.
  * If the string is too long, returns a value greater than @n.
  */
-static inline int strnlen_user(const void *str, int len)
+static inline int strnlen_user(const void *str, long len)
 {
 	return(CHOOSE_MODE_PROC(strnlen_user_tt, strnlen_user_skas, str, len));
 }
_
