UML - part 1 of 2
Subsystems (4)
PATCH 1/1 UML - part 1 of 2
This patch 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/linkage.h -
UML needs FASTCALL defined as regparm(3), too.
include/linux/kernel_stat.h -
Bumps DK_MAX_MAJOR to 99 so that the UML block driver (major 98)
gets stats.
init/do_mounts.c -
Adds a set of entries to dev_name_struct for the UML block device.
Jeff
CREDITS +2 -1
@@ -433,6 +433,7 @@ E: [email protected] 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: [email protected] 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
MAINTAINERS +8 -0
@@ -1842,6 +1842,14 @@ L: [email protected] W: http://usb.in.tum.de S: Maintained + +USER-MODE LINUX +P: Jeff Dike +M: [email protected] +L: [email protected] +L: [email protected] +W: http://user-mode-linux.sourceforge.net +S: Maintained USB "USBNET" DRIVER P: David Brownell
Makefile +9 -1
@@ -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; \
drivers/char/Makefile +6 -0
@@ -60,6 +60,12 @@ endif endif +ifeq ($(ARCH),um) + KEYMAP = + KEYBD = + CONSOLE = +endif + ifeq ($(ARCH),sh) KEYMAP = KEYBD =
drivers/net/setup.c +0 -4
@@ -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},
include/linux/kernel_stat.h +1 -1
@@ -12,7 +12,7 @@* used by rstatd/perfmeter */ -#define DK_MAX_MAJOR 16 +#define DK_MAX_MAJOR 99#define DK_MAX_DISK 16struct kernel_stat {
include/linux/linkage.h +1 -1
@@ -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
init/do_mounts.c +16 -0
@@ -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) },