|
|
Subscribe / Log in / New account

UML - part 1 of 2

From:  Jeff Dike <jdike@karaya.com>
To:  torvalds@transmeta.com
Subject:  [PATCH] UML - part 1 of 2
Date:  Mon, 22 Jul 2002 12:15:29 -0500
Cc:  linux-kernel@vger.kernel.org, jdike@ccure.karaya.com

This patch (against 2.5.27) contains all of the changes to generic code 
needed by UML:

CREDITS -
	Changes my address and adds a UML credit for Lars Brinkoff.

MAINTAINERS -
	Adds a UML entry.

Makefile -
	When ARCH=um is on the command line to do a UML build, the old value
of ARCH is saved in $(SUBARCH) for the later use of the UML build.

drivers/char/Makefile -
	Sets KEYMAP, KEYBD, CONSOLE empty to prevent hardware drivers from
being compiled in.

drivers/net/setup.c -
	Backs out a UML hook which leaked into your tree which UML no
longer uses.

include/linux/kernel_stat.h -
	Bumps DK_MAX_MAJOR to 99 so that the UML block driver (major 98)
gets stats.

include/linux/linkage.h -
	UML needs FASTCALL defined as regparm(3), too.

init/do_mounts.c -
	Adds a set of entries to dev_name_struct for the UML block device.

				Jeff


diff -Naur orig/CREDITS linus/CREDITS
--- orig/CREDITS	Tue Jul 16 23:55:49 2002
+++ linus/CREDITS	Tue Jul 16 23:56:12 2002
@@ -433,6 +433,7 @@
 E: lars@nocrew.org
 W: http://lars.nocrew.org/
 D: dsp56k device driver
+D: ptrace proxy in user mode kernel port
 S: Kopmansg 2
 S: 411 13  Goteborg
 S: Sweden
@@ -725,7 +726,7 @@
 E: jdike@karaya.com
 W: http://user-mode-linux.sourceforge.net
 D: User mode kernel port
-S: RR1 Box 67C
+S: 375 Tubbs Hill Rd
 S: Deering NH 03244
 S: USA
 
diff -Naur orig/MAINTAINERS linus/MAINTAINERS
--- orig/MAINTAINERS	Tue Jul 16 23:55:50 2002
+++ linus/MAINTAINERS	Wed Jul 17 17:13:26 2002
@@ -1842,6 +1842,14 @@
 L:	linux-usb-devel@lists.sourceforge.net
 W:	http://usb.in.tum.de
 S:	Maintained
+
+USER-MODE LINUX
+P:	Jeff Dike
+M:	jdike@karaya.com
+L:	user-mode-linux-devel@lists.sourceforge.net
+L:	user-mode-linux-user@lists.sourceforge.net
+W:	http://user-mode-linux.sourceforge.net
+S:	Maintained
 	
 USB "USBNET" DRIVER
 P:	David Brownell
diff -Naur orig/Makefile linus/Makefile
--- orig/Makefile	Sun Jul 21 19:08:23 2002
+++ linus/Makefile	Mon Jul 22 11:48:08 2002
@@ -27,7 +27,15 @@
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
-ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
+# SUBARCH tells the usermode build what the underlying arch is.  That is set
+# first, and if a usermode build is happening, the "ARCH=um" on the command
+# line overrides the setting of ARCH below.  If a native build is happening,
+# then ARCH is assigned, getting whatever value it gets normally, and 
+# SUBARCH is subsequently ignored.
+
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
+ARCH := $(SUBARCH)
+
 KERNELPATH=kernel-$(shell echo $(KERNELRELEASE) | sed -e "s/-//g")
 
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
diff -Naur orig/drivers/char/Makefile linus/drivers/char/Makefile
--- orig/drivers/char/Makefile	Tue Jul 16 23:55:54 2002
+++ linus/drivers/char/Makefile	Tue Jul 16 23:56:16 2002
@@ -60,6 +60,12 @@
   endif
 endif
 
+ifeq ($(ARCH),um)
+  KEYMAP   =
+  KEYBD    =
+  CONSOLE  =
+endif
+
 ifeq ($(ARCH),sh)
   KEYMAP   =
   KEYBD    =
diff -Naur orig/drivers/net/setup.c linus/drivers/net/setup.c
--- orig/drivers/net/setup.c	Sat Jul 21 21:26:53 2001
+++ linus/drivers/net/setup.c	Wed Jul 10 15:40:57 2002
@@ -28,7 +28,6 @@
 extern int lmc_setup(void);
 
 extern int madgemc_probe(void);
-extern int uml_net_probe(void);
 
 /* Pad device name to IFNAMSIZ=16. F.e. __PAD6 is string of 9 zeros. */
 #define __PAD6 "\0\0\0\0\0\0\0\0\0"
@@ -102,9 +101,6 @@
  */  
 #ifdef CONFIG_MADGEMC
 	{madgemc_probe, 0},
-#endif
-#ifdef CONFIG_UML_NET
-	{uml_net_probe, 0},
 #endif
  
 	{NULL, 0},
diff -Naur orig/include/linux/kernel_stat.h linus/include/linux/kernel_stat.h
--- orig/include/linux/kernel_stat.h	Sun Jul 21 19:08:26 2002
+++ linus/include/linux/kernel_stat.h	Mon Jul 22 11:48:08 2002
@@ -12,7 +12,7 @@
  * used by rstatd/perfmeter
  */
 
-#define DK_MAX_MAJOR 16
+#define DK_MAX_MAJOR 99
 #define DK_MAX_DISK 16
 
 struct kernel_stat {
diff -Naur orig/include/linux/linkage.h linus/include/linux/linkage.h
--- orig/include/linux/linkage.h	Sun Jul 14 14:10:17 2002
+++ linus/include/linux/linkage.h	Wed Jul 17 17:20:09 2002
@@ -56,7 +56,7 @@
 # define ATTRIB_NORET  __attribute__((noreturn))
 # define NORET_AND     noreturn,
 
-#ifdef __i386__
+#if defined(__i386__) || defined(__arch_um__)
 #define FASTCALL(x)	x __attribute__((regparm(3)))
 #else
 #define FASTCALL(x)	x
diff -Naur orig/init/do_mounts.c linus/init/do_mounts.c
--- orig/init/do_mounts.c	Mon Jul 15 16:27:35 2002
+++ linus/init/do_mounts.c	Mon Jul 15 16:28:16 2002
@@ -156,6 +156,22 @@
 	{ "pf",		0x2f00 },
 	{ "apblock", APBLOCK_MAJOR << 8},
 	{ "ddv", DDV_MAJOR << 8},
+ 	{ "ubd0", UBD_MAJOR << 8 | 0 << 4},
+ 	{ "ubda", UBD_MAJOR << 8 | 0 << 4},
+ 	{ "ubd1", UBD_MAJOR << 8 | 1 << 4},
+ 	{ "ubdb", UBD_MAJOR << 8 | 1 << 4},
+ 	{ "ubd2", UBD_MAJOR << 8 | 2 << 4},
+ 	{ "ubdc", UBD_MAJOR << 8 | 2 << 4},
+ 	{ "ubd3", UBD_MAJOR << 8 | 3 << 4},
+ 	{ "ubdd", UBD_MAJOR << 8 | 3 << 4},
+ 	{ "ubd4", UBD_MAJOR << 8 | 4 << 4},
+ 	{ "ubde", UBD_MAJOR << 8 | 4 << 4},
+ 	{ "ubd5", UBD_MAJOR << 8 | 5 << 4},
+ 	{ "ubdf", UBD_MAJOR << 8 | 5 << 4},
+ 	{ "ubd6", UBD_MAJOR << 8 | 6 << 4},
+ 	{ "ubdg", UBD_MAJOR << 8 | 6 << 4},
+ 	{ "ubd7", UBD_MAJOR << 8 | 7 << 4},
+ 	{ "ubdh", UBD_MAJOR << 8 | 7 << 4},
 	{ "jsfd",    JSFD_MAJOR << 8},
 #if defined(CONFIG_ARCH_S390)
 	{ "dasda", (DASD_MAJOR << MINORBITS) },

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


Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds