diff options
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/Kconfig | 10 | ||||
-rw-r--r-- | arch/um/Kconfig.x86_64 | 5 | ||||
-rw-r--r-- | arch/um/Makefile-i386 | 12 | ||||
-rw-r--r-- | arch/um/drivers/net_kern.c | 1 | ||||
-rw-r--r-- | arch/um/drivers/ubd_kern.c | 1 | ||||
-rw-r--r-- | arch/um/include/net_kern.h | 9 | ||||
-rw-r--r-- | arch/um/include/sysdep-i386/syscalls.h | 1 | ||||
-rw-r--r-- | arch/um/kernel/time_kern.c | 4 |
8 files changed, 27 insertions, 16 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 684e1f8b275..cd06ed7d842 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -27,10 +27,6 @@ config UID16 bool default y -config RWSEM_GENERIC_SPINLOCK - bool - default y - config GENERIC_CALIBRATE_DELAY bool default y @@ -40,6 +36,12 @@ config IRQ_RELEASE_METHOD bool default y +menu "Host processor type and features" + +source "arch/i386/Kconfig.cpu" + +endmenu + menu "UML-specific options" config MODE_TT diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64 index bd35e59419c..aae19bc4b06 100644 --- a/arch/um/Kconfig.x86_64 +++ b/arch/um/Kconfig.x86_64 @@ -6,6 +6,11 @@ config 64BIT bool default y +#XXX: this is so in the underlying arch, but it's wrong!!! +config RWSEM_GENERIC_SPINLOCK + bool + default y + config SEMAPHORE_SLEEPERS bool default y diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386 index 2ee8a285811..aef7c50f8e1 100644 --- a/arch/um/Makefile-i386 +++ b/arch/um/Makefile-i386 @@ -29,6 +29,12 @@ endif CFLAGS += -U__$(SUBARCH)__ -U$(SUBARCH) -ifneq ($(CONFIG_GPROF),y) -ARCH_CFLAGS += -DUM_FASTCALL -endif +# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y. +include $(srctree)/arch/i386/Makefile.cpu + +# prevent gcc from keeping the stack 16 byte aligned. Taken from i386. +cflags-y += $(call cc-option,-mpreferred-stack-boundary=2) + +CFLAGS += $(cflags-y) +USER_CFLAGS += $(cflags-y) + diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index 1495007bf6c..721e2601a75 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c @@ -20,6 +20,7 @@ #include "linux/ctype.h" #include "linux/bootmem.h" #include "linux/ethtool.h" +#include "linux/platform_device.h" #include "asm/uaccess.h" #include "user_util.h" #include "kern_util.h" diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index f73134333f6..b2c86257b0f 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c @@ -35,6 +35,7 @@ #include "linux/blkpg.h" #include "linux/genhd.h" #include "linux/spinlock.h" +#include "linux/platform_device.h" #include "asm/segment.h" #include "asm/uaccess.h" #include "asm/irq.h" diff --git a/arch/um/include/net_kern.h b/arch/um/include/net_kern.h index 1c07949a13d..f7de6df60dd 100644 --- a/arch/um/include/net_kern.h +++ b/arch/um/include/net_kern.h @@ -6,10 +6,11 @@ #ifndef __UM_NET_KERN_H #define __UM_NET_KERN_H -#include "linux/netdevice.h" -#include "linux/skbuff.h" -#include "linux/socket.h" -#include "linux/list.h" +#include <linux/netdevice.h> +#include <linux/platform_device.h> +#include <linux/skbuff.h> +#include <linux/socket.h> +#include <linux/list.h> struct uml_net { struct list_head list; diff --git a/arch/um/include/sysdep-i386/syscalls.h b/arch/um/include/sysdep-i386/syscalls.h index a0d5b74d373..57bd79efbee 100644 --- a/arch/um/include/sysdep-i386/syscalls.h +++ b/arch/um/include/sysdep-i386/syscalls.h @@ -11,7 +11,6 @@ typedef long syscall_handler_t(struct pt_regs); /* Not declared on x86, incompatible declarations on x86_64, so these have * to go here rather than in sys_call_table.c */ -extern syscall_handler_t sys_ptrace; extern syscall_handler_t sys_rt_sigaction; extern syscall_handler_t old_mmap_i386; diff --git a/arch/um/kernel/time_kern.c b/arch/um/kernel/time_kern.c index 4e08f7545d6..020ca79b8d3 100644 --- a/arch/um/kernel/time_kern.c +++ b/arch/um/kernel/time_kern.c @@ -22,10 +22,6 @@ #include "mode.h" #include "os.h" -u64 jiffies_64 = INITIAL_JIFFIES; - -EXPORT_SYMBOL(jiffies_64); - int hz(void) { return(HZ); |