Explorar el Código

Merge branch 'x86/um-header' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86/um-header' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)
  x86: canonicalize remaining header guards
  x86: drop double underscores from header guards
  x86: Fix ASM_X86__ header guards
  x86, um: get rid of uml-config.h
  x86, um: get rid of arch/um/Kconfig.arch
  x86, um: get rid of arch/um/os symlink
  x86, um: get rid of excessive includes of uml-config.h
  x86, um: get rid of header symlinks
  x86, um: merge Kconfig.i386 and Kconfig.x86_64
  x86, um: get rid of sysdep symlink
  x86, um: trim the junk from uml ptrace-*.h
  x86, um: take vm-flags.h to sysdep
  x86, um: get rid of uml asm/arch
  x86, um: get rid of uml highmem.h
  x86, um: get rid of uml unistd.h
  x86, um: get rid of system.h -> system.h include
  x86, um: uml atomic.h is not needed anymore
  x86, um: untangle uml ldt.h
  x86, um: get rid of more uml asm/arch uses
  x86, um: remove dead header (uml module-generic.h; never used these days)
  ...
Linus Torvalds hace 17 años
padre
commit
5b34653963
Se han modificado 100 ficheros con 196 adiciones y 273 borrados
  1. 1 1
      Makefile
  2. 1 1
      arch/ia64/ia32/audit.c
  3. 0 1
      arch/powerpc/include/asm/signal.h
  4. 2 0
      arch/powerpc/kernel/signal.h
  5. 77 0
      arch/um/Kconfig.common
  6. 42 0
      arch/um/Kconfig.rest
  7. 0 122
      arch/um/Kconfig.um
  8. 27 16
      arch/um/Kconfig.x86
  9. 0 39
      arch/um/Kconfig.x86_64
  10. 18 75
      arch/um/Makefile
  11. 1 0
      arch/um/Makefile-os-Linux
  12. 1 0
      arch/um/drivers/Makefile
  13. 0 0
      arch/um/include/asm/a.out-core.h
  14. 0 0
      arch/um/include/asm/apic.h
  15. 0 0
      arch/um/include/asm/auxvec.h
  16. 0 0
      arch/um/include/asm/bugs.h
  17. 0 0
      arch/um/include/asm/cache.h
  18. 0 0
      arch/um/include/asm/checksum.h
  19. 0 0
      arch/um/include/asm/common.lds.S
  20. 0 0
      arch/um/include/asm/cputime.h
  21. 0 0
      arch/um/include/asm/current.h
  22. 0 0
      arch/um/include/asm/delay.h
  23. 0 0
      arch/um/include/asm/desc.h
  24. 0 0
      arch/um/include/asm/device.h
  25. 0 0
      arch/um/include/asm/dma-mapping.h
  26. 0 0
      arch/um/include/asm/dma.h
  27. 0 0
      arch/um/include/asm/emergency-restart.h
  28. 1 0
      arch/um/include/asm/fixmap.h
  29. 0 0
      arch/um/include/asm/futex.h
  30. 0 0
      arch/um/include/asm/hardirq.h
  31. 0 0
      arch/um/include/asm/hw_irq.h
  32. 0 0
      arch/um/include/asm/io.h
  33. 0 0
      arch/um/include/asm/irq.h
  34. 0 0
      arch/um/include/asm/irq_regs.h
  35. 0 0
      arch/um/include/asm/irq_vectors.h
  36. 0 0
      arch/um/include/asm/irqflags.h
  37. 0 0
      arch/um/include/asm/kdebug.h
  38. 0 0
      arch/um/include/asm/kmap_types.h
  39. 0 0
      arch/um/include/asm/mmu.h
  40. 0 0
      arch/um/include/asm/mmu_context.h
  41. 0 0
      arch/um/include/asm/mutex.h
  42. 1 1
      arch/um/include/asm/page.h
  43. 0 0
      arch/um/include/asm/page_offset.h
  44. 0 0
      arch/um/include/asm/param.h
  45. 0 0
      arch/um/include/asm/pci.h
  46. 0 0
      arch/um/include/asm/pda.h
  47. 0 0
      arch/um/include/asm/pgalloc.h
  48. 0 0
      arch/um/include/asm/pgtable-2level.h
  49. 0 0
      arch/um/include/asm/pgtable-3level.h
  50. 8 0
      arch/um/include/asm/pgtable.h
  51. 0 0
      arch/um/include/asm/processor-generic.h
  52. 1 1
      arch/um/include/asm/ptrace-generic.h
  53. 0 0
      arch/um/include/asm/required-features.h
  54. 0 0
      arch/um/include/asm/sections.h
  55. 0 0
      arch/um/include/asm/segment.h
  56. 0 0
      arch/um/include/asm/setup.h
  57. 0 0
      arch/um/include/asm/smp.h
  58. 0 0
      arch/um/include/asm/suspend.h
  59. 1 13
      arch/um/include/asm/system.h
  60. 0 0
      arch/um/include/asm/thread_info.h
  61. 0 0
      arch/um/include/asm/timex.h
  62. 0 0
      arch/um/include/asm/tlb.h
  63. 0 0
      arch/um/include/asm/tlbflush.h
  64. 0 0
      arch/um/include/asm/topology.h
  65. 0 0
      arch/um/include/asm/uaccess.h
  66. 0 0
      arch/um/include/asm/xor.h
  67. 0 0
      arch/um/include/shared/aio.h
  68. 0 0
      arch/um/include/shared/arch.h
  69. 0 1
      arch/um/include/shared/as-layout.h
  70. 0 0
      arch/um/include/shared/chan_kern.h
  71. 0 0
      arch/um/include/shared/chan_user.h
  72. 13 0
      arch/um/include/shared/common-offsets.h
  73. 0 0
      arch/um/include/shared/elf_user.h
  74. 0 0
      arch/um/include/shared/frame_kern.h
  75. 0 0
      arch/um/include/shared/init.h
  76. 0 0
      arch/um/include/shared/initrd.h
  77. 0 0
      arch/um/include/shared/irq_kern.h
  78. 0 0
      arch/um/include/shared/irq_user.h
  79. 0 0
      arch/um/include/shared/kern.h
  80. 0 0
      arch/um/include/shared/kern_util.h
  81. 1 1
      arch/um/include/shared/ldt.h
  82. 0 0
      arch/um/include/shared/line.h
  83. 0 0
      arch/um/include/shared/longjmp.h
  84. 0 0
      arch/um/include/shared/mconsole.h
  85. 0 0
      arch/um/include/shared/mconsole_kern.h
  86. 0 0
      arch/um/include/shared/mem.h
  87. 0 0
      arch/um/include/shared/mem_kern.h
  88. 0 0
      arch/um/include/shared/mem_user.h
  89. 0 0
      arch/um/include/shared/net_kern.h
  90. 0 0
      arch/um/include/shared/net_user.h
  91. 0 1
      arch/um/include/shared/os.h
  92. 0 0
      arch/um/include/shared/process.h
  93. 0 0
      arch/um/include/shared/ptrace_user.h
  94. 0 0
      arch/um/include/shared/registers.h
  95. 0 0
      arch/um/include/shared/sigio.h
  96. 0 0
      arch/um/include/shared/skas/mm_id.h
  97. 0 0
      arch/um/include/shared/skas/proc_mm.h
  98. 0 0
      arch/um/include/shared/skas/skas.h
  99. 0 0
      arch/um/include/shared/skas/stub-data.h
  100. 0 0
      arch/um/include/shared/skas_ptrace.h

+ 1 - 1
Makefile

@@ -437,7 +437,7 @@ ifeq ($(config-targets),1)
 # KBUILD_DEFCONFIG may point out an alternative default configuration
 # used for 'make defconfig'
 include $(srctree)/arch/$(SRCARCH)/Makefile
-export KBUILD_DEFCONFIG
+export KBUILD_DEFCONFIG KBUILD_KCONFIG
 
 config %config: scripts_basic outputmakefile FORCE
 	$(Q)mkdir -p include/linux include/config

+ 1 - 1
arch/ia64/ia32/audit.c

@@ -1,4 +1,4 @@
-#include <asm-x86/unistd_32.h>
+#include "../../x86/include/asm/unistd_32.h"
 
 unsigned ia32_dir_class[] = {
 #include <asm-generic/audit_dir_write.h>

+ 0 - 1
arch/powerpc/include/asm/signal.h

@@ -122,7 +122,6 @@ typedef struct sigaltstack {
 
 #ifdef __KERNEL__
 struct pt_regs;
-extern void do_signal(struct pt_regs *regs, unsigned long thread_info_flags);
 #define ptrace_signal_deliver(regs, cookie) do { } while (0)
 #endif /* __KERNEL__ */
 

+ 2 - 0
arch/powerpc/kernel/signal.h

@@ -12,6 +12,8 @@
 
 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
 
+extern void do_signal(struct pt_regs *regs, unsigned long thread_info_flags);
+
 extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
 				  size_t frame_size);
 extern void restore_sigmask(sigset_t *set);

+ 77 - 0
arch/um/Kconfig.common

@@ -0,0 +1,77 @@
+config DEFCONFIG_LIST
+	string
+	option defconfig_list
+	default "arch/$ARCH/defconfig"
+
+# UML uses the generic IRQ subsystem
+config GENERIC_HARDIRQS
+	bool
+	default y
+
+config UML
+	bool
+	default y
+
+config MMU
+	bool
+	default y
+
+config NO_IOMEM
+	def_bool y
+
+mainmenu "Linux/Usermode Kernel Configuration"
+
+config ISA
+	bool
+
+config SBUS
+	bool
+
+config PCI
+	bool
+
+config PCMCIA
+	bool
+
+# Yet to do!
+config TRACE_IRQFLAGS_SUPPORT
+	bool
+	default n
+
+config LOCKDEP_SUPPORT
+	bool
+	default y
+
+config STACKTRACE_SUPPORT
+	bool
+	default n
+
+config GENERIC_CALIBRATE_DELAY
+	bool
+	default y
+
+config GENERIC_BUG
+	bool
+	default y
+	depends on BUG
+
+config GENERIC_TIME
+	bool
+	default y
+
+config GENERIC_CLOCKEVENTS
+	bool
+	default y
+
+# Used in kernel/irq/manage.c and include/linux/irq.h
+config IRQ_RELEASE_METHOD
+	bool
+	default y
+
+config HZ
+	int
+	default 100
+
+config SUBARCH
+	string
+	option env="SUBARCH"

+ 42 - 0
arch/um/Kconfig.rest

@@ -0,0 +1,42 @@
+source "init/Kconfig"
+
+source "kernel/Kconfig.freezer"
+
+source "drivers/block/Kconfig"
+
+source "arch/um/Kconfig.char"
+
+source "drivers/base/Kconfig"
+
+source "net/Kconfig"
+
+source "arch/um/Kconfig.net"
+
+source "drivers/net/Kconfig"
+
+source "drivers/connector/Kconfig"
+
+source "fs/Kconfig"
+
+source "security/Kconfig"
+
+source "crypto/Kconfig"
+
+source "lib/Kconfig"
+
+source "drivers/scsi/Kconfig"
+
+source "drivers/md/Kconfig"
+
+if BROKEN
+	source "drivers/mtd/Kconfig"
+endif
+
+source "drivers/leds/Kconfig"
+
+#This is just to shut up some Kconfig warnings, so no prompt.
+config INPUT
+	bool
+	default n
+
+source "arch/um/Kconfig.debug"

+ 0 - 122
arch/um/Kconfig → arch/um/Kconfig.um

@@ -1,79 +1,3 @@
-config DEFCONFIG_LIST
-	string
-	option defconfig_list
-	default "arch/$ARCH/defconfig"
-
-# UML uses the generic IRQ subsystem
-config GENERIC_HARDIRQS
-	bool
-	default y
-
-config UML
-	bool
-	default y
-
-config MMU
-	bool
-	default y
-
-config NO_IOMEM
-	def_bool y
-
-mainmenu "Linux/Usermode Kernel Configuration"
-
-config ISA
-	bool
-
-config SBUS
-	bool
-
-config PCI
-	bool
-
-config PCMCIA
-	bool
-
-# Yet to do!
-config TRACE_IRQFLAGS_SUPPORT
-	bool
-	default n
-
-config LOCKDEP_SUPPORT
-	bool
-	default y
-
-config STACKTRACE_SUPPORT
-	bool
-	default n
-
-config GENERIC_CALIBRATE_DELAY
-	bool
-	default y
-
-config GENERIC_BUG
-	bool
-	default y
-	depends on BUG
-
-config GENERIC_TIME
-	bool
-	default y
-
-config GENERIC_CLOCKEVENTS
-	bool
-	default y
-
-# Used in kernel/irq/manage.c and include/linux/irq.h
-config IRQ_RELEASE_METHOD
-	bool
-	default y
-
-config HZ
-	int
-	default 100
-
-menu "UML-specific options"
-
 config STATIC_LINK
 	bool "Force a static link"
 	default n
@@ -85,7 +9,6 @@ config STATIC_LINK
 	  Additionally, this option enables using higher memory spaces (up to
 	  2.75G) for UML.
 
-source "arch/um/Kconfig.arch"
 source "mm/Kconfig"
 source "kernel/time/Kconfig"
 
@@ -224,48 +147,3 @@ config KERNEL_STACK_ORDER
 	  This option determines the size of UML kernel stacks.  They will
 	  be 1 << order pages.  The default is OK unless you're running Valgrind
 	  on UML, in which case, set this to 3.
-
-endmenu
-
-source "init/Kconfig"
-
-source "kernel/Kconfig.freezer"
-
-source "drivers/block/Kconfig"
-
-source "arch/um/Kconfig.char"
-
-source "drivers/base/Kconfig"
-
-source "net/Kconfig"
-
-source "arch/um/Kconfig.net"
-
-source "drivers/net/Kconfig"
-
-source "drivers/connector/Kconfig"
-
-source "fs/Kconfig"
-
-source "security/Kconfig"
-
-source "crypto/Kconfig"
-
-source "lib/Kconfig"
-
-source "drivers/scsi/Kconfig"
-
-source "drivers/md/Kconfig"
-
-if BROKEN
-	source "drivers/mtd/Kconfig"
-endif
-
-source "drivers/leds/Kconfig"
-
-#This is just to shut up some Kconfig warnings, so no prompt.
-config INPUT
-	bool
-	default n
-
-source "arch/um/Kconfig.debug"

+ 27 - 16
arch/um/Kconfig.i386 → arch/um/Kconfig.x86

@@ -1,3 +1,7 @@
+source "arch/um/Kconfig.common"
+
+menu "UML-specific options"
+
 menu "Host processor type and features"
 
 source "arch/x86/Kconfig.cpu"
@@ -5,24 +9,25 @@ source "arch/x86/Kconfig.cpu"
 endmenu
 
 config UML_X86
+	def_bool y
+
+config 64BIT
 	bool
-	default y
+	default SUBARCH = "x86_64"
 
 config X86_32
-	bool
-	default y
-  	select HAVE_AOUT
+	def_bool !64BIT
+	select HAVE_AOUT
 
 config RWSEM_XCHGADD_ALGORITHM
-	def_bool y
+	def_bool X86_XADD
 
-config 64BIT
-	bool
-	default n
+config RWSEM_GENERIC_SPINLOCK
+	def_bool !X86_XADD
 
 config 3_LEVEL_PGTABLES
-	bool "Three-level pagetables (EXPERIMENTAL)"
-	default n
+	bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT
+	default 64BIT
 	depends on EXPERIMENTAL
 	help
 	Three-level pagetables will let UML have more than 4G of physical
@@ -33,13 +38,19 @@ config 3_LEVEL_PGTABLES
 	N (on x86-64 it's automatically enabled, instead, as it's safe there).
 
 config ARCH_HAS_SC_SIGNALS
-	bool
-	default y
+	def_bool !64BIT
 
 config ARCH_REUSE_HOST_VSYSCALL_AREA
-	bool
-	default y
+	def_bool !64BIT
+
+config SMP_BROKEN
+	def_bool 64BIT
 
 config GENERIC_HWEIGHT
-	bool
-	default y
+	def_bool y
+
+source "arch/um/Kconfig.um"
+
+endmenu
+
+source "arch/um/Kconfig.rest"

+ 0 - 39
arch/um/Kconfig.x86_64

@@ -1,39 +0,0 @@
-
-menu "Host processor type and features"
-
-source "arch/x86/Kconfig.cpu"
-
-endmenu
-
-config UML_X86
-	bool
-	default y
-
-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 3_LEVEL_PGTABLES
-       bool
-       default y
-
-config ARCH_HAS_SC_SIGNALS
-	bool
-	default n
-
-config ARCH_REUSE_HOST_VSYSCALL_AREA
-	bool
-	default n
-
-config SMP_BROKEN
-	bool
-	default y
-
-config GENERIC_HWEIGHT
-	bool
-	default y

+ 18 - 75
arch/um/Makefile

@@ -18,28 +18,16 @@ core-y			+= $(ARCH_DIR)/kernel/		\
 			   $(ARCH_DIR)/drivers/		\
 			   $(ARCH_DIR)/os-$(OS)/
 
-# Have to precede the include because the included Makefiles reference them.
-SYMLINK_HEADERS := archparam.h system.h sigcontext.h processor.h ptrace.h \
-	module.h vm-flags.h elf.h host_ldt.h
-SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header))
-
-# XXX: The "os" symlink is only used by arch/um/include/os.h, which includes
-# ../os/include/file.h
-#
-# These are cleaned up during mrproper. Please DO NOT fix it again, this is
-# the Correct Thing(tm) to do!
-ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \
-	$(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h
-
-MODE_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include/skas
+MODE_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include/shared/skas
 
 include $(srctree)/$(ARCH_DIR)/Makefile-skas
 
-ARCH_INCLUDE	:= -I$(ARCH_DIR)/include
+ARCH_INCLUDE	:= -I$(srctree)/$(ARCH_DIR)/include/shared
+ARCH_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/sys-$(SUBARCH)/shared
 ifneq ($(KBUILD_SRC),)
-ARCH_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include
+ARCH_INCLUDE	+= -I$(ARCH_DIR)/include/shared # for two generated files
 endif
-SYS_DIR		:= $(ARCH_DIR)/include/sysdep-$(SUBARCH)
+KBUILD_CPPFLAGS += -I$(srctree)/$(ARCH_DIR)/sys-$(SUBARCH)
 
 # -Dvmap=kernel_vmap prevents anything from referencing the libpcap.o symbol so
 # named - it's a common symbol in libpcap, so we get a binary which crashes.
@@ -65,6 +53,8 @@ include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)
 #This will adjust *FLAGS accordingly to the platform.
 include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
 
+KBUILD_CPPFLAGS += -I$(srctree)/arch/$(HEADER_ARCH)/include
+
 # -Derrno=kernel_errno - This turns all kernel references to errno into
 # kernel_errno to separate them from the libc errno.  This allows -fno-common
 # in KBUILD_CFLAGS.  Otherwise, it would cause ld to complain about the two different
@@ -93,14 +83,10 @@ define archhelp
   echo '		   find in the kernel root.'
 endef
 
-ifneq ($(KBUILD_SRC),)
-$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch)
-else
-$(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch)
-endif
+KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
 
-archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/user_constants.h
-prepare: $(ARCH_DIR)/include/kern_constants.h
+archprepare: $(ARCH_DIR)/include/shared/user_constants.h
+prepare: $(ARCH_DIR)/include/shared/kern_constants.h
 
 LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
 LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib
@@ -132,62 +118,19 @@ endef
 
 # When cleaning we don't include .config, so we don't include
 # TT or skas makefiles and don't clean skas_ptregs.h.
-CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \
-	$(ARCH_DIR)/include/user_constants.h \
-	$(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch
-
-MRPROPER_FILES += $(ARCH_SYMLINKS)
+CLEAN_FILES += linux x.i gmon.out \
+	$(ARCH_DIR)/include/shared/user_constants.h \
+	$(ARCH_DIR)/include/shared/kern_constants.h
 
 archclean:
 	@find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \
 		-o -name '*.gcov' \) -type f -print | xargs rm -f
 
-$(SYMLINK_HEADERS):
-	@echo '  SYMLINK $@'
-ifneq ($(KBUILD_SRC),)
-	$(Q)mkdir -p $(objtree)/include/asm-um
-	$(Q)ln -fsn $(srctree)/include/asm-um/$(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $@
-else
-	$(Q)cd $(srctree)/$(dir $@) ; \
-	ln -sf $(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $(notdir $@)
-endif
-
-include/asm-um/arch:
-	@echo '  SYMLINK $@'
-ifneq ($(KBUILD_SRC),)
-	$(Q)mkdir -p $(objtree)/include/asm-um
-	$(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch
-else
-	$(Q)cd $(srctree)/include/asm-um && ln -fsn ../asm-$(HEADER_ARCH) arch
-endif
-
-$(objtree)/$(ARCH_DIR)/include:
+$(objtree)/$(ARCH_DIR)/include/shared:
 	@echo '  MKDIR $@'
 	$(Q)mkdir -p $@
 
-$(ARCH_DIR)/include/sysdep: $(objtree)/$(ARCH_DIR)/include
-	@echo '  SYMLINK $@'
-ifneq ($(KBUILD_SRC),)
-	$(Q)ln -fsn $(srctree)/$(ARCH_DIR)/include/sysdep-$(SUBARCH) $(ARCH_DIR)/include/sysdep
-else
-	$(Q)cd $(ARCH_DIR)/include && ln -fsn sysdep-$(SUBARCH) sysdep
-endif
-
-$(ARCH_DIR)/os:
-	@echo '  SYMLINK $@'
-ifneq ($(KBUILD_SRC),)
-	$(Q)ln -fsn $(srctree)/$(ARCH_DIR)/os-$(OS) $(ARCH_DIR)/os
-else
-	$(Q)cd $(ARCH_DIR) && ln -fsn os-$(OS) os
-endif
-
 # Generated files
-define filechk_umlconfig
-	sed 's/ CONFIG/ UML_CONFIG/'
-endef
-
-$(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h
-	$(call filechk,umlconfig)
 
 $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE
 	$(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(SUBARCH) $@
@@ -205,11 +148,11 @@ define filechk_gen-asm-offsets
          echo ""; )
 endef
 
-$(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
+$(ARCH_DIR)/include/shared/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
 	$(call filechk,gen-asm-offsets)
 
-$(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include
+$(ARCH_DIR)/include/shared/kern_constants.h: $(objtree)/$(ARCH_DIR)/include/shared
 	@echo '  SYMLINK $@'
-	$(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@
+	$(Q)ln -sf ../../../../include/asm/asm-offsets.h $@
 
-export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH
+export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH

+ 1 - 0
arch/um/Makefile-os-Linux

@@ -6,3 +6,4 @@
 # To get a definition of F_SETSIG
 USER_CFLAGS += -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
 KBUILD_CFLAGS += -D_LARGEFILE64_SOURCE
+DEV_NULL_PATH = \"/dev/null\"

+ 1 - 0
arch/um/drivers/Makefile

@@ -62,5 +62,6 @@ obj-$(CONFIG_UML_RANDOM) += random.o
 
 # pcap_user.o must be added explicitly.
 USER_OBJS := fd.o null.o pty.o tty.o xterm.o slip_common.o pcap_user.o vde_user.o
+CFLAGS_null.o = -DDEV_NULL=$(DEV_NULL_PATH)
 
 include arch/um/scripts/Makefile.rules

+ 0 - 0
include/asm-um/a.out-core.h → arch/um/include/asm/a.out-core.h


+ 0 - 0
include/asm-um/apic.h → arch/um/include/asm/apic.h


+ 0 - 0
include/asm-um/auxvec.h → arch/um/include/asm/auxvec.h


+ 0 - 0
include/asm-um/bugs.h → arch/um/include/asm/bugs.h


+ 0 - 0
include/asm-um/cache.h → arch/um/include/asm/cache.h


+ 0 - 0
include/asm-um/checksum.h → arch/um/include/asm/checksum.h


+ 0 - 0
include/asm-um/common.lds.S → arch/um/include/asm/common.lds.S


+ 0 - 0
include/asm-um/cputime.h → arch/um/include/asm/cputime.h


+ 0 - 0
include/asm-um/current.h → arch/um/include/asm/current.h


+ 0 - 0
include/asm-um/delay.h → arch/um/include/asm/delay.h


+ 0 - 0
include/asm-um/desc.h → arch/um/include/asm/desc.h


+ 0 - 0
include/asm-um/device.h → arch/um/include/asm/device.h


+ 0 - 0
include/asm-um/dma-mapping.h → arch/um/include/asm/dma-mapping.h


+ 0 - 0
include/asm-um/dma.h → arch/um/include/asm/dma.h


+ 0 - 0
include/asm-um/emergency-restart.h → arch/um/include/asm/emergency-restart.h


+ 1 - 0
include/asm-um/fixmap.h → arch/um/include/asm/fixmap.h

@@ -6,6 +6,7 @@
 #include <asm/kmap_types.h>
 #include <asm/archparam.h>
 #include <asm/page.h>
+#include <linux/threads.h>
 
 /*
  * Here we define all the compile-time 'special' virtual

+ 0 - 0
include/asm-um/futex.h → arch/um/include/asm/futex.h


+ 0 - 0
include/asm-um/hardirq.h → arch/um/include/asm/hardirq.h


+ 0 - 0
include/asm-um/hw_irq.h → arch/um/include/asm/hw_irq.h


+ 0 - 0
include/asm-um/io.h → arch/um/include/asm/io.h


+ 0 - 0
include/asm-um/irq.h → arch/um/include/asm/irq.h


+ 0 - 0
include/asm-um/irq_regs.h → arch/um/include/asm/irq_regs.h


+ 0 - 0
include/asm-um/irq_vectors.h → arch/um/include/asm/irq_vectors.h


+ 0 - 0
include/asm-um/irqflags.h → arch/um/include/asm/irqflags.h


+ 0 - 0
include/asm-um/kdebug.h → arch/um/include/asm/kdebug.h


+ 0 - 0
include/asm-um/kmap_types.h → arch/um/include/asm/kmap_types.h


+ 0 - 0
include/asm-um/mmu.h → arch/um/include/asm/mmu.h


+ 0 - 0
include/asm-um/mmu_context.h → arch/um/include/asm/mmu_context.h


+ 0 - 0
include/asm-um/mutex.h → arch/um/include/asm/mutex.h


+ 1 - 1
include/asm-um/page.h → arch/um/include/asm/page.h

@@ -19,7 +19,7 @@
 struct page;
 
 #include <linux/types.h>
-#include <asm/vm-flags.h>
+#include <sysdep/vm-flags.h>
 
 /*
  * These are used to make use of C type-checking..

+ 0 - 0
include/asm-um/page_offset.h → arch/um/include/asm/page_offset.h


+ 0 - 0
include/asm-um/param.h → arch/um/include/asm/param.h


+ 0 - 0
include/asm-um/pci.h → arch/um/include/asm/pci.h


+ 0 - 0
include/asm-um/pda.h → arch/um/include/asm/pda.h


+ 0 - 0
include/asm-um/pgalloc.h → arch/um/include/asm/pgalloc.h


+ 0 - 0
include/asm-um/pgtable-2level.h → arch/um/include/asm/pgtable-2level.h


+ 0 - 0
include/asm-um/pgtable-3level.h → arch/um/include/asm/pgtable-3level.h


+ 8 - 0
include/asm-um/pgtable.h → arch/um/include/asm/pgtable.h

@@ -47,6 +47,7 @@ extern unsigned long end_iomem;
 
 #define VMALLOC_OFFSET	(__va_space)
 #define VMALLOC_START ((end_iomem + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
+#define PKMAP_BASE ((FIXADDR_START - LAST_PKMAP * PAGE_SIZE) & PMD_MASK)
 #ifdef CONFIG_HIGHMEM
 # define VMALLOC_END	(PKMAP_BASE-2*PAGE_SIZE)
 #else
@@ -355,4 +356,11 @@ extern pte_t *virt_to_pte(struct mm_struct *mm, unsigned long addr);
 
 #include <asm-generic/pgtable.h>
 
+/* Clear a kernel PTE and flush it from the TLB */
+#define kpte_clear_flush(ptep, vaddr)		\
+do {						\
+	pte_clear(&init_mm, (vaddr), (ptep));	\
+	__flush_tlb_one((vaddr));		\
+} while (0)
+
 #endif

+ 0 - 0
include/asm-um/processor-generic.h → arch/um/include/asm/processor-generic.h


+ 1 - 1
include/asm-um/ptrace-generic.h → arch/um/include/asm/ptrace-generic.h

@@ -8,7 +8,7 @@
 
 #ifndef __ASSEMBLY__
 
-#include "asm/arch/ptrace-abi.h"
+#include <asm/ptrace-abi.h>
 #include <asm/user.h>
 #include "sysdep/ptrace.h"
 

+ 0 - 0
include/asm-um/required-features.h → arch/um/include/asm/required-features.h


+ 0 - 0
include/asm-um/sections.h → arch/um/include/asm/sections.h


+ 0 - 0
include/asm-um/segment.h → arch/um/include/asm/segment.h


+ 0 - 0
include/asm-um/setup.h → arch/um/include/asm/setup.h


+ 0 - 0
include/asm-um/smp.h → arch/um/include/asm/smp.h


+ 0 - 0
include/asm-um/suspend.h → arch/um/include/asm/suspend.h


+ 1 - 13
include/asm-um/system-generic.h → arch/um/include/asm/system.h

@@ -1,19 +1,7 @@
 #ifndef __UM_SYSTEM_GENERIC_H
 #define __UM_SYSTEM_GENERIC_H
 
-#include "asm/arch/system.h"
-
-#undef switch_to
-#undef local_irq_save
-#undef local_irq_restore
-#undef local_irq_disable
-#undef local_irq_enable
-#undef local_save_flags
-#undef local_irq_restore
-#undef local_irq_enable
-#undef local_irq_disable
-#undef local_irq_save
-#undef irqs_disabled
+#include "sysdep/system.h"
 
 extern void *switch_to(void *prev, void *next, void *last);
 

+ 0 - 0
include/asm-um/thread_info.h → arch/um/include/asm/thread_info.h


+ 0 - 0
include/asm-um/timex.h → arch/um/include/asm/timex.h


+ 0 - 0
include/asm-um/tlb.h → arch/um/include/asm/tlb.h


+ 0 - 0
include/asm-um/tlbflush.h → arch/um/include/asm/tlbflush.h


+ 0 - 0
include/asm-um/topology.h → arch/um/include/asm/topology.h


+ 0 - 0
include/asm-um/uaccess.h → arch/um/include/asm/uaccess.h


+ 0 - 0
include/asm-um/xor.h → arch/um/include/asm/xor.h


+ 0 - 0
arch/um/include/aio.h → arch/um/include/shared/aio.h


+ 0 - 0
arch/um/include/arch.h → arch/um/include/shared/arch.h


+ 0 - 1
arch/um/include/as-layout.h → arch/um/include/shared/as-layout.h

@@ -6,7 +6,6 @@
 #ifndef __START_H__
 #define __START_H__
 
-#include "uml-config.h"
 #include "kern_constants.h"
 
 /*

+ 0 - 0
arch/um/include/chan_kern.h → arch/um/include/shared/chan_kern.h


+ 0 - 0
arch/um/include/chan_user.h → arch/um/include/shared/chan_user.h


+ 13 - 0
arch/um/include/common-offsets.h → arch/um/include/shared/common-offsets.h

@@ -39,3 +39,16 @@ DEFINE(UM_HZ, HZ);
 DEFINE(UM_USEC_PER_SEC, USEC_PER_SEC);
 DEFINE(UM_NSEC_PER_SEC, NSEC_PER_SEC);
 DEFINE(UM_NSEC_PER_USEC, NSEC_PER_USEC);
+
+#ifdef CONFIG_PRINTK
+DEFINE(UML_CONFIG_PRINTK, CONFIG_PRINTK);
+#endif
+#ifdef CONFIG_NO_HZ
+DEFINE(UML_CONFIG_NO_HZ, CONFIG_NO_HZ);
+#endif
+#ifdef CONFIG_UML_X86
+DEFINE(UML_CONFIG_UML_X86, CONFIG_UML_X86);
+#endif
+#ifdef CONFIG_64BIT
+DEFINE(UML_CONFIG_64BIT, CONFIG_64BIT);
+#endif

+ 0 - 0
arch/um/include/elf_user.h → arch/um/include/shared/elf_user.h


+ 0 - 0
arch/um/include/frame_kern.h → arch/um/include/shared/frame_kern.h


+ 0 - 0
arch/um/include/init.h → arch/um/include/shared/init.h


+ 0 - 0
arch/um/include/initrd.h → arch/um/include/shared/initrd.h


+ 0 - 0
arch/um/include/irq_kern.h → arch/um/include/shared/irq_kern.h


+ 0 - 0
arch/um/include/irq_user.h → arch/um/include/shared/irq_user.h


+ 0 - 0
arch/um/include/kern.h → arch/um/include/shared/kern.h


+ 0 - 0
arch/um/include/kern_util.h → arch/um/include/shared/kern_util.h


+ 1 - 1
include/asm-um/ldt.h → arch/um/include/shared/ldt.h

@@ -9,7 +9,7 @@
 #define __ASM_LDT_H
 
 #include <linux/mutex.h>
-#include "asm/host_ldt.h"
+#include <sysdep/host_ldt.h>
 
 extern void ldt_host_info(void);
 

+ 0 - 0
arch/um/include/line.h → arch/um/include/shared/line.h


+ 0 - 0
arch/um/include/longjmp.h → arch/um/include/shared/longjmp.h


+ 0 - 0
arch/um/include/mconsole.h → arch/um/include/shared/mconsole.h


+ 0 - 0
arch/um/include/mconsole_kern.h → arch/um/include/shared/mconsole_kern.h


+ 0 - 0
arch/um/include/mem.h → arch/um/include/shared/mem.h


+ 0 - 0
arch/um/include/mem_kern.h → arch/um/include/shared/mem_kern.h


+ 0 - 0
arch/um/include/mem_user.h → arch/um/include/shared/mem_user.h


+ 0 - 0
arch/um/include/net_kern.h → arch/um/include/shared/net_kern.h


+ 0 - 0
arch/um/include/net_user.h → arch/um/include/shared/net_user.h


+ 0 - 1
arch/um/include/os.h → arch/um/include/shared/os.h

@@ -11,7 +11,6 @@
 #include "longjmp.h"
 #include "mm_id.h"
 #include "sysdep/tls.h"
-#include "../os/include/file.h"
 
 #define CATCH_EINTR(expr) while ((errno = 0, ((expr) < 0)) && (errno == EINTR))
 

+ 0 - 0
arch/um/include/process.h → arch/um/include/shared/process.h


+ 0 - 0
arch/um/include/ptrace_user.h → arch/um/include/shared/ptrace_user.h


+ 0 - 0
arch/um/include/registers.h → arch/um/include/shared/registers.h


+ 0 - 0
arch/um/include/sigio.h → arch/um/include/shared/sigio.h


+ 0 - 0
arch/um/include/skas/mm_id.h → arch/um/include/shared/skas/mm_id.h


+ 0 - 0
arch/um/include/skas/proc_mm.h → arch/um/include/shared/skas/proc_mm.h


+ 0 - 0
arch/um/include/skas/skas.h → arch/um/include/shared/skas/skas.h


+ 0 - 0
arch/um/include/skas/stub-data.h → arch/um/include/shared/skas/stub-data.h


+ 0 - 0
arch/um/include/skas_ptrace.h → arch/um/include/shared/skas_ptrace.h


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio