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)
  ...
diff --git a/Makefile b/Makefile
index 16e3fbb..f6703f1 100644
--- a/Makefile
+++ b/Makefile
@@ -437,7 +437,7 @@
 # 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
diff --git a/arch/ia64/ia32/audit.c b/arch/ia64/ia32/audit.c
index 5e901c7..5c93ddd 100644
--- a/arch/ia64/ia32/audit.c
+++ b/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>
diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h
index a7360cd..69f709d 100644
--- a/arch/powerpc/include/asm/signal.h
+++ b/arch/powerpc/include/asm/signal.h
@@ -122,7 +122,6 @@
 
 #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__ */
 
diff --git a/arch/powerpc/kernel/signal.h b/arch/powerpc/kernel/signal.h
index 28f4b9f..b427bf8 100644
--- a/arch/powerpc/kernel/signal.h
+++ b/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);
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common
new file mode 100644
index 0000000..0d207e7
--- /dev/null
+++ b/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"
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
deleted file mode 100644
index 1f57c11..0000000
--- a/arch/um/Kconfig.i386
+++ /dev/null
@@ -1,45 +0,0 @@
-menu "Host processor type and features"
-
-source "arch/x86/Kconfig.cpu"
-
-endmenu
-
-config UML_X86
-	bool
-	default y
-
-config X86_32
-	bool
-	default y
-  	select HAVE_AOUT
-
-config RWSEM_XCHGADD_ALGORITHM
-	def_bool y
-
-config 64BIT
-	bool
-	default n
-
-config 3_LEVEL_PGTABLES
-	bool "Three-level pagetables (EXPERIMENTAL)"
-	default n
-	depends on EXPERIMENTAL
-	help
-	Three-level pagetables will let UML have more than 4G of physical
-	memory.  All the memory that can't be mapped directly will be treated
-	as high memory.
-
-	However, this it experimental on 32-bit architectures, so if unsure say
-	N (on x86-64 it's automatically enabled, instead, as it's safe there).
-
-config ARCH_HAS_SC_SIGNALS
-	bool
-	default y
-
-config ARCH_REUSE_HOST_VSYSCALL_AREA
-	bool
-	default y
-
-config GENERIC_HWEIGHT
-	bool
-	default y
diff --git a/arch/um/Kconfig.rest b/arch/um/Kconfig.rest
new file mode 100644
index 0000000..7b5cea7
--- /dev/null
+++ b/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"
diff --git a/arch/um/Kconfig b/arch/um/Kconfig.um
similarity index 76%
rename from arch/um/Kconfig
rename to arch/um/Kconfig.um
index 393bccf..ec2b8da 100644
--- a/arch/um/Kconfig
+++ b/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 @@
 	  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 @@
 	  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"
diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86
new file mode 100644
index 0000000..5ee3280
--- /dev/null
+++ b/arch/um/Kconfig.x86
@@ -0,0 +1,56 @@
+source "arch/um/Kconfig.common"
+
+menu "UML-specific options"
+
+menu "Host processor type and features"
+
+source "arch/x86/Kconfig.cpu"
+
+endmenu
+
+config UML_X86
+	def_bool y
+
+config 64BIT
+	bool
+	default SUBARCH = "x86_64"
+
+config X86_32
+	def_bool !64BIT
+	select HAVE_AOUT
+
+config RWSEM_XCHGADD_ALGORITHM
+	def_bool X86_XADD
+
+config RWSEM_GENERIC_SPINLOCK
+	def_bool !X86_XADD
+
+config 3_LEVEL_PGTABLES
+	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
+	memory.  All the memory that can't be mapped directly will be treated
+	as high memory.
+
+	However, this it experimental on 32-bit architectures, so if unsure say
+	N (on x86-64 it's automatically enabled, instead, as it's safe there).
+
+config ARCH_HAS_SC_SIGNALS
+	def_bool !64BIT
+
+config ARCH_REUSE_HOST_VSYSCALL_AREA
+	def_bool !64BIT
+
+config SMP_BROKEN
+	def_bool 64BIT
+
+config GENERIC_HWEIGHT
+	def_bool y
+
+source "arch/um/Kconfig.um"
+
+endmenu
+
+source "arch/um/Kconfig.rest"
diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64
deleted file mode 100644
index 40b3407..0000000
--- a/arch/um/Kconfig.x86_64
+++ /dev/null
@@ -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
diff --git a/arch/um/Makefile b/arch/um/Makefile
index ca40397..d944c34 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -18,28 +18,16 @@
 			   $(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 @@
 #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 @@
   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 @@
 
 # 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 @@
          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
diff --git a/arch/um/Makefile-os-Linux b/arch/um/Makefile-os-Linux
index 5285948..2c8a598 100644
--- a/arch/um/Makefile-os-Linux
+++ b/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\"
diff --git a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile
index d283e7b..1d9b6ae 100644
--- a/arch/um/drivers/Makefile
+++ b/arch/um/drivers/Makefile
@@ -62,5 +62,6 @@
 
 # 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
diff --git a/include/asm-um/a.out-core.h b/arch/um/include/asm/a.out-core.h
similarity index 100%
rename from include/asm-um/a.out-core.h
rename to arch/um/include/asm/a.out-core.h
diff --git a/include/asm-um/apic.h b/arch/um/include/asm/apic.h
similarity index 100%
rename from include/asm-um/apic.h
rename to arch/um/include/asm/apic.h
diff --git a/include/asm-um/auxvec.h b/arch/um/include/asm/auxvec.h
similarity index 100%
rename from include/asm-um/auxvec.h
rename to arch/um/include/asm/auxvec.h
diff --git a/include/asm-um/bugs.h b/arch/um/include/asm/bugs.h
similarity index 100%
rename from include/asm-um/bugs.h
rename to arch/um/include/asm/bugs.h
diff --git a/include/asm-um/cache.h b/arch/um/include/asm/cache.h
similarity index 100%
rename from include/asm-um/cache.h
rename to arch/um/include/asm/cache.h
diff --git a/include/asm-um/checksum.h b/arch/um/include/asm/checksum.h
similarity index 100%
rename from include/asm-um/checksum.h
rename to arch/um/include/asm/checksum.h
diff --git a/include/asm-um/common.lds.S b/arch/um/include/asm/common.lds.S
similarity index 100%
rename from include/asm-um/common.lds.S
rename to arch/um/include/asm/common.lds.S
diff --git a/include/asm-um/cputime.h b/arch/um/include/asm/cputime.h
similarity index 100%
rename from include/asm-um/cputime.h
rename to arch/um/include/asm/cputime.h
diff --git a/include/asm-um/current.h b/arch/um/include/asm/current.h
similarity index 100%
rename from include/asm-um/current.h
rename to arch/um/include/asm/current.h
diff --git a/include/asm-um/delay.h b/arch/um/include/asm/delay.h
similarity index 100%
rename from include/asm-um/delay.h
rename to arch/um/include/asm/delay.h
diff --git a/include/asm-um/desc.h b/arch/um/include/asm/desc.h
similarity index 100%
rename from include/asm-um/desc.h
rename to arch/um/include/asm/desc.h
diff --git a/include/asm-um/device.h b/arch/um/include/asm/device.h
similarity index 100%
rename from include/asm-um/device.h
rename to arch/um/include/asm/device.h
diff --git a/include/asm-um/dma-mapping.h b/arch/um/include/asm/dma-mapping.h
similarity index 100%
rename from include/asm-um/dma-mapping.h
rename to arch/um/include/asm/dma-mapping.h
diff --git a/include/asm-um/dma.h b/arch/um/include/asm/dma.h
similarity index 100%
rename from include/asm-um/dma.h
rename to arch/um/include/asm/dma.h
diff --git a/include/asm-um/emergency-restart.h b/arch/um/include/asm/emergency-restart.h
similarity index 100%
rename from include/asm-um/emergency-restart.h
rename to arch/um/include/asm/emergency-restart.h
diff --git a/include/asm-um/fixmap.h b/arch/um/include/asm/fixmap.h
similarity index 98%
rename from include/asm-um/fixmap.h
rename to arch/um/include/asm/fixmap.h
index 9d2be52..69c0252 100644
--- a/include/asm-um/fixmap.h
+++ b/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
diff --git a/include/asm-um/futex.h b/arch/um/include/asm/futex.h
similarity index 100%
rename from include/asm-um/futex.h
rename to arch/um/include/asm/futex.h
diff --git a/include/asm-um/hardirq.h b/arch/um/include/asm/hardirq.h
similarity index 100%
rename from include/asm-um/hardirq.h
rename to arch/um/include/asm/hardirq.h
diff --git a/include/asm-um/hw_irq.h b/arch/um/include/asm/hw_irq.h
similarity index 100%
rename from include/asm-um/hw_irq.h
rename to arch/um/include/asm/hw_irq.h
diff --git a/include/asm-um/io.h b/arch/um/include/asm/io.h
similarity index 100%
rename from include/asm-um/io.h
rename to arch/um/include/asm/io.h
diff --git a/include/asm-um/irq.h b/arch/um/include/asm/irq.h
similarity index 100%
rename from include/asm-um/irq.h
rename to arch/um/include/asm/irq.h
diff --git a/include/asm-um/irq_regs.h b/arch/um/include/asm/irq_regs.h
similarity index 100%
rename from include/asm-um/irq_regs.h
rename to arch/um/include/asm/irq_regs.h
diff --git a/include/asm-um/irq_vectors.h b/arch/um/include/asm/irq_vectors.h
similarity index 100%
rename from include/asm-um/irq_vectors.h
rename to arch/um/include/asm/irq_vectors.h
diff --git a/include/asm-um/irqflags.h b/arch/um/include/asm/irqflags.h
similarity index 100%
rename from include/asm-um/irqflags.h
rename to arch/um/include/asm/irqflags.h
diff --git a/include/asm-um/kdebug.h b/arch/um/include/asm/kdebug.h
similarity index 100%
rename from include/asm-um/kdebug.h
rename to arch/um/include/asm/kdebug.h
diff --git a/include/asm-um/kmap_types.h b/arch/um/include/asm/kmap_types.h
similarity index 100%
rename from include/asm-um/kmap_types.h
rename to arch/um/include/asm/kmap_types.h
diff --git a/include/asm-um/mmu.h b/arch/um/include/asm/mmu.h
similarity index 100%
rename from include/asm-um/mmu.h
rename to arch/um/include/asm/mmu.h
diff --git a/include/asm-um/mmu_context.h b/arch/um/include/asm/mmu_context.h
similarity index 100%
rename from include/asm-um/mmu_context.h
rename to arch/um/include/asm/mmu_context.h
diff --git a/include/asm-um/mutex.h b/arch/um/include/asm/mutex.h
similarity index 100%
rename from include/asm-um/mutex.h
rename to arch/um/include/asm/mutex.h
diff --git a/include/asm-um/page.h b/arch/um/include/asm/page.h
similarity index 98%
rename from include/asm-um/page.h
rename to arch/um/include/asm/page.h
index a6df1f1..55f28a0 100644
--- a/include/asm-um/page.h
+++ b/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..
diff --git a/include/asm-um/page_offset.h b/arch/um/include/asm/page_offset.h
similarity index 100%
rename from include/asm-um/page_offset.h
rename to arch/um/include/asm/page_offset.h
diff --git a/include/asm-um/param.h b/arch/um/include/asm/param.h
similarity index 100%
rename from include/asm-um/param.h
rename to arch/um/include/asm/param.h
diff --git a/include/asm-um/pci.h b/arch/um/include/asm/pci.h
similarity index 100%
rename from include/asm-um/pci.h
rename to arch/um/include/asm/pci.h
diff --git a/include/asm-um/pda.h b/arch/um/include/asm/pda.h
similarity index 100%
rename from include/asm-um/pda.h
rename to arch/um/include/asm/pda.h
diff --git a/include/asm-um/pgalloc.h b/arch/um/include/asm/pgalloc.h
similarity index 100%
rename from include/asm-um/pgalloc.h
rename to arch/um/include/asm/pgalloc.h
diff --git a/include/asm-um/pgtable-2level.h b/arch/um/include/asm/pgtable-2level.h
similarity index 100%
rename from include/asm-um/pgtable-2level.h
rename to arch/um/include/asm/pgtable-2level.h
diff --git a/include/asm-um/pgtable-3level.h b/arch/um/include/asm/pgtable-3level.h
similarity index 100%
rename from include/asm-um/pgtable-3level.h
rename to arch/um/include/asm/pgtable-3level.h
diff --git a/include/asm-um/pgtable.h b/arch/um/include/asm/pgtable.h
similarity index 96%
rename from include/asm-um/pgtable.h
rename to arch/um/include/asm/pgtable.h
index 02db81b..58da248 100644
--- a/include/asm-um/pgtable.h
+++ b/arch/um/include/asm/pgtable.h
@@ -47,6 +47,7 @@
 
 #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 @@
 
 #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
diff --git a/include/asm-um/processor-generic.h b/arch/um/include/asm/processor-generic.h
similarity index 100%
rename from include/asm-um/processor-generic.h
rename to arch/um/include/asm/processor-generic.h
diff --git a/include/asm-um/ptrace-generic.h b/arch/um/include/asm/ptrace-generic.h
similarity index 97%
rename from include/asm-um/ptrace-generic.h
rename to arch/um/include/asm/ptrace-generic.h
index 3157497..6c88990 100644
--- a/include/asm-um/ptrace-generic.h
+++ b/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"
 
diff --git a/include/asm-um/required-features.h b/arch/um/include/asm/required-features.h
similarity index 100%
rename from include/asm-um/required-features.h
rename to arch/um/include/asm/required-features.h
diff --git a/include/asm-um/sections.h b/arch/um/include/asm/sections.h
similarity index 100%
rename from include/asm-um/sections.h
rename to arch/um/include/asm/sections.h
diff --git a/include/asm-um/segment.h b/arch/um/include/asm/segment.h
similarity index 100%
rename from include/asm-um/segment.h
rename to arch/um/include/asm/segment.h
diff --git a/include/asm-um/setup.h b/arch/um/include/asm/setup.h
similarity index 100%
rename from include/asm-um/setup.h
rename to arch/um/include/asm/setup.h
diff --git a/include/asm-um/smp.h b/arch/um/include/asm/smp.h
similarity index 100%
rename from include/asm-um/smp.h
rename to arch/um/include/asm/smp.h
diff --git a/include/asm-um/suspend.h b/arch/um/include/asm/suspend.h
similarity index 100%
rename from include/asm-um/suspend.h
rename to arch/um/include/asm/suspend.h
diff --git a/include/asm-um/system-generic.h b/arch/um/include/asm/system.h
similarity index 78%
rename from include/asm-um/system-generic.h
rename to arch/um/include/asm/system.h
index 5bcfa35..753346e 100644
--- a/include/asm-um/system-generic.h
+++ b/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);
 
diff --git a/include/asm-um/thread_info.h b/arch/um/include/asm/thread_info.h
similarity index 100%
rename from include/asm-um/thread_info.h
rename to arch/um/include/asm/thread_info.h
diff --git a/include/asm-um/timex.h b/arch/um/include/asm/timex.h
similarity index 100%
rename from include/asm-um/timex.h
rename to arch/um/include/asm/timex.h
diff --git a/include/asm-um/tlb.h b/arch/um/include/asm/tlb.h
similarity index 100%
rename from include/asm-um/tlb.h
rename to arch/um/include/asm/tlb.h
diff --git a/include/asm-um/tlbflush.h b/arch/um/include/asm/tlbflush.h
similarity index 100%
rename from include/asm-um/tlbflush.h
rename to arch/um/include/asm/tlbflush.h
diff --git a/include/asm-um/topology.h b/arch/um/include/asm/topology.h
similarity index 100%
rename from include/asm-um/topology.h
rename to arch/um/include/asm/topology.h
diff --git a/include/asm-um/uaccess.h b/arch/um/include/asm/uaccess.h
similarity index 100%
rename from include/asm-um/uaccess.h
rename to arch/um/include/asm/uaccess.h
diff --git a/include/asm-um/xor.h b/arch/um/include/asm/xor.h
similarity index 100%
rename from include/asm-um/xor.h
rename to arch/um/include/asm/xor.h
diff --git a/arch/um/include/aio.h b/arch/um/include/shared/aio.h
similarity index 100%
rename from arch/um/include/aio.h
rename to arch/um/include/shared/aio.h
diff --git a/arch/um/include/arch.h b/arch/um/include/shared/arch.h
similarity index 100%
rename from arch/um/include/arch.h
rename to arch/um/include/shared/arch.h
diff --git a/arch/um/include/as-layout.h b/arch/um/include/shared/as-layout.h
similarity index 98%
rename from arch/um/include/as-layout.h
rename to arch/um/include/shared/as-layout.h
index 58e852d..a92b678 100644
--- a/arch/um/include/as-layout.h
+++ b/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"
 
 /*
diff --git a/arch/um/include/chan_kern.h b/arch/um/include/shared/chan_kern.h
similarity index 100%
rename from arch/um/include/chan_kern.h
rename to arch/um/include/shared/chan_kern.h
diff --git a/arch/um/include/chan_user.h b/arch/um/include/shared/chan_user.h
similarity index 100%
rename from arch/um/include/chan_user.h
rename to arch/um/include/shared/chan_user.h
diff --git a/arch/um/include/common-offsets.h b/arch/um/include/shared/common-offsets.h
similarity index 80%
rename from arch/um/include/common-offsets.h
rename to arch/um/include/shared/common-offsets.h
index b54bd35..72009c7 100644
--- a/arch/um/include/common-offsets.h
+++ b/arch/um/include/shared/common-offsets.h
@@ -39,3 +39,16 @@
 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
diff --git a/arch/um/include/elf_user.h b/arch/um/include/shared/elf_user.h
similarity index 100%
rename from arch/um/include/elf_user.h
rename to arch/um/include/shared/elf_user.h
diff --git a/arch/um/include/frame_kern.h b/arch/um/include/shared/frame_kern.h
similarity index 100%
rename from arch/um/include/frame_kern.h
rename to arch/um/include/shared/frame_kern.h
diff --git a/arch/um/include/init.h b/arch/um/include/shared/init.h
similarity index 100%
rename from arch/um/include/init.h
rename to arch/um/include/shared/init.h
diff --git a/arch/um/include/initrd.h b/arch/um/include/shared/initrd.h
similarity index 100%
rename from arch/um/include/initrd.h
rename to arch/um/include/shared/initrd.h
diff --git a/arch/um/include/irq_kern.h b/arch/um/include/shared/irq_kern.h
similarity index 100%
rename from arch/um/include/irq_kern.h
rename to arch/um/include/shared/irq_kern.h
diff --git a/arch/um/include/irq_user.h b/arch/um/include/shared/irq_user.h
similarity index 100%
rename from arch/um/include/irq_user.h
rename to arch/um/include/shared/irq_user.h
diff --git a/arch/um/include/kern.h b/arch/um/include/shared/kern.h
similarity index 100%
rename from arch/um/include/kern.h
rename to arch/um/include/shared/kern.h
diff --git a/arch/um/include/kern_util.h b/arch/um/include/shared/kern_util.h
similarity index 100%
rename from arch/um/include/kern_util.h
rename to arch/um/include/shared/kern_util.h
diff --git a/include/asm-um/ldt.h b/arch/um/include/shared/ldt.h
similarity index 95%
rename from include/asm-um/ldt.h
rename to arch/um/include/shared/ldt.h
index 52af512..a7f999a 100644
--- a/include/asm-um/ldt.h
+++ b/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);
 
diff --git a/arch/um/include/line.h b/arch/um/include/shared/line.h
similarity index 100%
rename from arch/um/include/line.h
rename to arch/um/include/shared/line.h
diff --git a/arch/um/include/longjmp.h b/arch/um/include/shared/longjmp.h
similarity index 100%
rename from arch/um/include/longjmp.h
rename to arch/um/include/shared/longjmp.h
diff --git a/arch/um/include/mconsole.h b/arch/um/include/shared/mconsole.h
similarity index 100%
rename from arch/um/include/mconsole.h
rename to arch/um/include/shared/mconsole.h
diff --git a/arch/um/include/mconsole_kern.h b/arch/um/include/shared/mconsole_kern.h
similarity index 100%
rename from arch/um/include/mconsole_kern.h
rename to arch/um/include/shared/mconsole_kern.h
diff --git a/arch/um/include/mem.h b/arch/um/include/shared/mem.h
similarity index 100%
rename from arch/um/include/mem.h
rename to arch/um/include/shared/mem.h
diff --git a/arch/um/include/mem_kern.h b/arch/um/include/shared/mem_kern.h
similarity index 100%
rename from arch/um/include/mem_kern.h
rename to arch/um/include/shared/mem_kern.h
diff --git a/arch/um/include/mem_user.h b/arch/um/include/shared/mem_user.h
similarity index 100%
rename from arch/um/include/mem_user.h
rename to arch/um/include/shared/mem_user.h
diff --git a/arch/um/include/net_kern.h b/arch/um/include/shared/net_kern.h
similarity index 100%
rename from arch/um/include/net_kern.h
rename to arch/um/include/shared/net_kern.h
diff --git a/arch/um/include/net_user.h b/arch/um/include/shared/net_user.h
similarity index 100%
rename from arch/um/include/net_user.h
rename to arch/um/include/shared/net_user.h
diff --git a/arch/um/include/os.h b/arch/um/include/shared/os.h
similarity index 99%
rename from arch/um/include/os.h
rename to arch/um/include/shared/os.h
index db5be46..cd40fdd 100644
--- a/arch/um/include/os.h
+++ b/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))
 
diff --git a/arch/um/include/process.h b/arch/um/include/shared/process.h
similarity index 100%
rename from arch/um/include/process.h
rename to arch/um/include/shared/process.h
diff --git a/arch/um/include/ptrace_user.h b/arch/um/include/shared/ptrace_user.h
similarity index 100%
rename from arch/um/include/ptrace_user.h
rename to arch/um/include/shared/ptrace_user.h
diff --git a/arch/um/include/registers.h b/arch/um/include/shared/registers.h
similarity index 100%
rename from arch/um/include/registers.h
rename to arch/um/include/shared/registers.h
diff --git a/arch/um/include/sigio.h b/arch/um/include/shared/sigio.h
similarity index 100%
rename from arch/um/include/sigio.h
rename to arch/um/include/shared/sigio.h
diff --git a/arch/um/include/skas/mm_id.h b/arch/um/include/shared/skas/mm_id.h
similarity index 100%
rename from arch/um/include/skas/mm_id.h
rename to arch/um/include/shared/skas/mm_id.h
diff --git a/arch/um/include/skas/proc_mm.h b/arch/um/include/shared/skas/proc_mm.h
similarity index 100%
rename from arch/um/include/skas/proc_mm.h
rename to arch/um/include/shared/skas/proc_mm.h
diff --git a/arch/um/include/skas/skas.h b/arch/um/include/shared/skas/skas.h
similarity index 100%
rename from arch/um/include/skas/skas.h
rename to arch/um/include/shared/skas/skas.h
diff --git a/arch/um/include/skas/stub-data.h b/arch/um/include/shared/skas/stub-data.h
similarity index 100%
rename from arch/um/include/skas/stub-data.h
rename to arch/um/include/shared/skas/stub-data.h
diff --git a/arch/um/include/skas_ptrace.h b/arch/um/include/shared/skas_ptrace.h
similarity index 100%
rename from arch/um/include/skas_ptrace.h
rename to arch/um/include/shared/skas_ptrace.h
diff --git a/arch/um/include/skas_ptregs.h b/arch/um/include/shared/skas_ptregs.h
similarity index 100%
rename from arch/um/include/skas_ptregs.h
rename to arch/um/include/shared/skas_ptregs.h
diff --git a/arch/um/include/syscall.h b/arch/um/include/shared/syscall.h
similarity index 100%
rename from arch/um/include/syscall.h
rename to arch/um/include/shared/syscall.h
diff --git a/arch/um/include/sysrq.h b/arch/um/include/shared/sysrq.h
similarity index 100%
rename from arch/um/include/sysrq.h
rename to arch/um/include/shared/sysrq.h
diff --git a/arch/um/include/task.h b/arch/um/include/shared/task.h
similarity index 100%
rename from arch/um/include/task.h
rename to arch/um/include/shared/task.h
diff --git a/arch/um/include/tlb.h b/arch/um/include/shared/tlb.h
similarity index 100%
rename from arch/um/include/tlb.h
rename to arch/um/include/shared/tlb.h
diff --git a/arch/um/include/ubd_user.h b/arch/um/include/shared/ubd_user.h
similarity index 100%
rename from arch/um/include/ubd_user.h
rename to arch/um/include/shared/ubd_user.h
diff --git a/arch/um/include/um_malloc.h b/arch/um/include/shared/um_malloc.h
similarity index 100%
rename from arch/um/include/um_malloc.h
rename to arch/um/include/shared/um_malloc.h
diff --git a/arch/um/include/um_mmu.h b/arch/um/include/shared/um_mmu.h
similarity index 91%
rename from arch/um/include/um_mmu.h
rename to arch/um/include/shared/um_mmu.h
index f575ff9..b1a7e47 100644
--- a/arch/um/include/um_mmu.h
+++ b/arch/um/include/shared/um_mmu.h
@@ -6,9 +6,8 @@
 #ifndef __ARCH_UM_MMU_H
 #define __ARCH_UM_MMU_H
 
-#include "uml-config.h"
 #include "mm_id.h"
-#include "asm/ldt.h"
+#include "ldt.h"
 
 typedef struct mm_context {
 	struct mm_id id;
diff --git a/arch/um/include/um_uaccess.h b/arch/um/include/shared/um_uaccess.h
similarity index 100%
rename from arch/um/include/um_uaccess.h
rename to arch/um/include/shared/um_uaccess.h
diff --git a/arch/um/include/user.h b/arch/um/include/shared/user.h
similarity index 97%
rename from arch/um/include/user.h
rename to arch/um/include/shared/user.h
index 1723fac..293f7c7 100644
--- a/arch/um/include/user.h
+++ b/arch/um/include/shared/user.h
@@ -6,7 +6,7 @@
 #ifndef __USER_H__
 #define __USER_H__
 
-#include "uml-config.h"
+#include "kern_constants.h"
 
 /*
  * The usual definition - copied here because the kernel provides its own,
diff --git a/arch/um/include/sigcontext.h b/arch/um/include/sigcontext.h
deleted file mode 100644
index 59816ca..0000000
--- a/arch/um/include/sigcontext.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 
- * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
- * Licensed under the GPL
- */
-
-#ifndef __UML_SIGCONTEXT_H__
-#define __UML_SIGCONTEXT_H__
-
-#include "sysdep/sigcontext.h"
-
-extern int sc_size(void *data);
-extern void sc_to_sc(void *to_ptr, void *from_ptr);
-
-#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c
index 598711c..fda30d2 100644
--- a/arch/um/kernel/exec.c
+++ b/arch/um/kernel/exec.c
@@ -15,6 +15,7 @@
 #include "mem_user.h"
 #include "skas.h"
 #include "os.h"
+#include "internal.h"
 
 void flush_thread(void)
 {
diff --git a/arch/um/kernel/internal.h b/arch/um/kernel/internal.h
new file mode 100644
index 0000000..3bda43c
--- /dev/null
+++ b/arch/um/kernel/internal.h
@@ -0,0 +1 @@
+extern long um_execve(char *file, char __user *__user *argv, char __user *__user *env);
diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c
index b0fce72..b5c094c 100644
--- a/arch/um/kernel/signal.c
+++ b/arch/um/kernel/signal.c
@@ -11,7 +11,7 @@
 #include <asm/unistd.h>
 #include "frame_kern.h"
 #include "kern_util.h"
-#include "sigcontext.h"
+#include <sysdep/sigcontext.h>
 
 EXPORT_SYMBOL(block_signals);
 EXPORT_SYMBOL(unblock_signals);
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
index 128ee85..c4df705 100644
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -12,6 +12,7 @@
 #include "asm/mman.h"
 #include "asm/uaccess.h"
 #include "asm/unistd.h"
+#include "internal.h"
 
 long sys_fork(void)
 {
diff --git a/arch/um/os-Linux/include/file.h b/arch/um/os-Linux/include/file.h
deleted file mode 100644
index fe71be2..0000000
--- a/arch/um/os-Linux/include/file.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* 
- * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- * Licensed under the GPL
- */
-
-#ifndef __OS_FILE_H__
-#define __OS_FILE_H__
-
-#define DEV_NULL "/dev/null"
-
-#endif
diff --git a/arch/um/os-Linux/skas/mem.c b/arch/um/os-Linux/skas/mem.c
index 484e68f..d261f17 100644
--- a/arch/um/os-Linux/skas/mem.c
+++ b/arch/um/os-Linux/skas/mem.c
@@ -20,7 +20,6 @@
 #include "user.h"
 #include "sysdep/ptrace.h"
 #include "sysdep/stub.h"
-#include "uml-config.h"
 
 extern unsigned long batch_syscall_stub, __syscall_stub_start;
 
diff --git a/include/asm-um/archparam-i386.h b/arch/um/sys-i386/asm/archparam.h
similarity index 76%
rename from include/asm-um/archparam-i386.h
rename to arch/um/sys-i386/asm/archparam.h
index 49e89b8..93fd723 100644
--- a/include/asm-um/archparam-i386.h
+++ b/arch/um/sys-i386/asm/archparam.h
@@ -6,11 +6,11 @@
 #ifndef __UM_ARCHPARAM_I386_H
 #define __UM_ARCHPARAM_I386_H
 
-/********* Nothing for asm-um/hardirq.h **********/
-
-/********* Nothing for asm-um/hw_irq.h **********/
-
-/********* Nothing for asm-um/string.h **********/
+#ifdef CONFIG_X86_PAE
+#define LAST_PKMAP 512
+#else
+#define LAST_PKMAP 1024
+#endif
 
 #endif
 
diff --git a/include/asm-um/elf-i386.h b/arch/um/sys-i386/asm/elf.h
similarity index 100%
rename from include/asm-um/elf-i386.h
rename to arch/um/sys-i386/asm/elf.h
diff --git a/include/asm-um/module-i386.h b/arch/um/sys-i386/asm/module.h
similarity index 100%
rename from include/asm-um/module-i386.h
rename to arch/um/sys-i386/asm/module.h
diff --git a/include/asm-um/processor-i386.h b/arch/um/sys-i386/asm/processor.h
similarity index 96%
rename from include/asm-um/processor-i386.h
rename to arch/um/sys-i386/asm/processor.h
index a2b7fe1..82a9061 100644
--- a/include/asm-um/processor-i386.h
+++ b/arch/um/sys-i386/asm/processor.h
@@ -7,7 +7,7 @@
 #define __UM_PROCESSOR_I386_H
 
 #include "linux/string.h"
-#include "asm/host_ldt.h"
+#include <sysdep/host_ldt.h>
 #include "asm/segment.h"
 
 extern int host_has_cmov;
@@ -48,7 +48,7 @@
         memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array));
 }
 
-#include "asm/arch/user.h"
+#include <asm/user.h>
 
 /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
 static inline void rep_nop(void)
diff --git a/include/asm-um/ptrace-i386.h b/arch/um/sys-i386/asm/ptrace.h
similarity index 92%
rename from include/asm-um/ptrace-i386.h
rename to arch/um/sys-i386/asm/ptrace.h
index b2d24c5e..0273e4d 100644
--- a/include/asm-um/ptrace-i386.h
+++ b/arch/um/sys-i386/asm/ptrace.h
@@ -10,8 +10,6 @@
 
 #include "linux/compiler.h"
 #include "asm/ptrace-generic.h"
-#include <asm/user.h>
-#include "sysdep/ptrace.h"
 
 #define PT_REGS_EAX(r) UPT_EAX(&(r)->regs)
 #define PT_REGS_EBX(r) UPT_EBX(&(r)->regs)
@@ -34,8 +32,6 @@
 #define PT_REGS_SYSCALL_RET(r) PT_REGS_EAX(r)
 #define PT_FIX_EXEC_STACK(sp) do ; while(0)
 
-/* Cope with a conditional i386 definition. */
-#undef profile_pc
 #define profile_pc(regs) PT_REGS_IP(regs)
 
 #define user_mode(r) UPT_IS_USER(&(r)->regs)
diff --git a/arch/um/include/sysdep-i386/archsetjmp.h b/arch/um/sys-i386/shared/sysdep/archsetjmp.h
similarity index 100%
rename from arch/um/include/sysdep-i386/archsetjmp.h
rename to arch/um/sys-i386/shared/sysdep/archsetjmp.h
diff --git a/arch/um/include/sysdep-i386/barrier.h b/arch/um/sys-i386/shared/sysdep/barrier.h
similarity index 100%
rename from arch/um/include/sysdep-i386/barrier.h
rename to arch/um/sys-i386/shared/sysdep/barrier.h
diff --git a/arch/um/include/sysdep-i386/checksum.h b/arch/um/sys-i386/shared/sysdep/checksum.h
similarity index 100%
rename from arch/um/include/sysdep-i386/checksum.h
rename to arch/um/sys-i386/shared/sysdep/checksum.h
diff --git a/arch/um/include/sysdep-i386/faultinfo.h b/arch/um/sys-i386/shared/sysdep/faultinfo.h
similarity index 100%
rename from arch/um/include/sysdep-i386/faultinfo.h
rename to arch/um/sys-i386/shared/sysdep/faultinfo.h
diff --git a/include/asm-um/host_ldt-i386.h b/arch/um/sys-i386/shared/sysdep/host_ldt.h
similarity index 96%
rename from include/asm-um/host_ldt-i386.h
rename to arch/um/sys-i386/shared/sysdep/host_ldt.h
index b27cb0a..0953cc4 100644
--- a/include/asm-um/host_ldt-i386.h
+++ b/arch/um/sys-i386/shared/sysdep/host_ldt.h
@@ -1,7 +1,7 @@
 #ifndef __ASM_HOST_LDT_I386_H
 #define __ASM_HOST_LDT_I386_H
 
-#include "asm/arch/ldt.h"
+#include <asm/ldt.h>
 
 /*
  * macros stolen from include/asm-i386/desc.h
diff --git a/arch/um/include/sysdep-i386/kernel-offsets.h b/arch/um/sys-i386/shared/sysdep/kernel-offsets.h
similarity index 100%
rename from arch/um/include/sysdep-i386/kernel-offsets.h
rename to arch/um/sys-i386/shared/sysdep/kernel-offsets.h
diff --git a/arch/um/include/sysdep-i386/ptrace.h b/arch/um/sys-i386/shared/sysdep/ptrace.h
similarity index 99%
rename from arch/um/include/sysdep-i386/ptrace.h
rename to arch/um/sys-i386/shared/sysdep/ptrace.h
index 11c0896..d50e62e 100644
--- a/arch/um/include/sysdep-i386/ptrace.h
+++ b/arch/um/sys-i386/shared/sysdep/ptrace.h
@@ -6,7 +6,6 @@
 #ifndef __SYSDEP_I386_PTRACE_H
 #define __SYSDEP_I386_PTRACE_H
 
-#include "uml-config.h"
 #include "user_constants.h"
 #include "sysdep/faultinfo.h"
 
diff --git a/arch/um/include/sysdep-i386/ptrace_user.h b/arch/um/sys-i386/shared/sysdep/ptrace_user.h
similarity index 100%
rename from arch/um/include/sysdep-i386/ptrace_user.h
rename to arch/um/sys-i386/shared/sysdep/ptrace_user.h
diff --git a/arch/um/include/sysdep-i386/sc.h b/arch/um/sys-i386/shared/sysdep/sc.h
similarity index 100%
rename from arch/um/include/sysdep-i386/sc.h
rename to arch/um/sys-i386/shared/sysdep/sc.h
diff --git a/arch/um/include/sysdep-i386/sigcontext.h b/arch/um/sys-i386/shared/sysdep/sigcontext.h
similarity index 100%
rename from arch/um/include/sysdep-i386/sigcontext.h
rename to arch/um/sys-i386/shared/sysdep/sigcontext.h
diff --git a/arch/um/include/sysdep-i386/skas_ptrace.h b/arch/um/sys-i386/shared/sysdep/skas_ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-i386/skas_ptrace.h
rename to arch/um/sys-i386/shared/sysdep/skas_ptrace.h
diff --git a/arch/um/include/sysdep-i386/stub.h b/arch/um/sys-i386/shared/sysdep/stub.h
similarity index 98%
rename from arch/um/include/sysdep-i386/stub.h
rename to arch/um/sys-i386/shared/sysdep/stub.h
index 8c097b8..977dedd 100644
--- a/arch/um/include/sysdep-i386/stub.h
+++ b/arch/um/sys-i386/shared/sysdep/stub.h
@@ -12,7 +12,6 @@
 #include "as-layout.h"
 #include "stub-data.h"
 #include "kern_constants.h"
-#include "uml-config.h"
 
 extern void stub_segv_handler(int sig);
 extern void stub_clone_handler(void);
diff --git a/arch/um/include/sysdep-i386/syscalls.h b/arch/um/sys-i386/shared/sysdep/syscalls.h
similarity index 100%
rename from arch/um/include/sysdep-i386/syscalls.h
rename to arch/um/sys-i386/shared/sysdep/syscalls.h
diff --git a/arch/um/sys-i386/shared/sysdep/system.h b/arch/um/sys-i386/shared/sysdep/system.h
new file mode 100644
index 0000000..d1b93c4
--- /dev/null
+++ b/arch/um/sys-i386/shared/sysdep/system.h
@@ -0,0 +1,132 @@
+#ifndef _ASM_X86_SYSTEM_H_
+#define _ASM_X86_SYSTEM_H_
+
+#include <asm/asm.h>
+#include <asm/segment.h>
+#include <asm/cpufeature.h>
+#include <asm/cmpxchg.h>
+#include <asm/nops.h>
+
+#include <linux/kernel.h>
+#include <linux/irqflags.h>
+
+/* entries in ARCH_DLINFO: */
+#ifdef CONFIG_IA32_EMULATION
+# define AT_VECTOR_SIZE_ARCH 2
+#else
+# define AT_VECTOR_SIZE_ARCH 1
+#endif
+
+extern unsigned long arch_align_stack(unsigned long sp);
+
+void default_idle(void);
+
+/*
+ * Force strict CPU ordering.
+ * And yes, this is required on UP too when we're talking
+ * to devices.
+ */
+#ifdef CONFIG_X86_32
+/*
+ * Some non-Intel clones support out of order store. wmb() ceases to be a
+ * nop for these.
+ */
+#define mb() alternative("lock; addl $0,0(%%esp)", "mfence", X86_FEATURE_XMM2)
+#define rmb() alternative("lock; addl $0,0(%%esp)", "lfence", X86_FEATURE_XMM2)
+#define wmb() alternative("lock; addl $0,0(%%esp)", "sfence", X86_FEATURE_XMM)
+#else
+#define mb() 	asm volatile("mfence":::"memory")
+#define rmb()	asm volatile("lfence":::"memory")
+#define wmb()	asm volatile("sfence" ::: "memory")
+#endif
+
+/**
+ * read_barrier_depends - Flush all pending reads that subsequents reads
+ * depend on.
+ *
+ * No data-dependent reads from memory-like regions are ever reordered
+ * over this barrier.  All reads preceding this primitive are guaranteed
+ * to access memory (but not necessarily other CPUs' caches) before any
+ * reads following this primitive that depend on the data return by
+ * any of the preceding reads.  This primitive is much lighter weight than
+ * rmb() on most CPUs, and is never heavier weight than is
+ * rmb().
+ *
+ * These ordering constraints are respected by both the local CPU
+ * and the compiler.
+ *
+ * Ordering is not guaranteed by anything other than these primitives,
+ * not even by data dependencies.  See the documentation for
+ * memory_barrier() for examples and URLs to more information.
+ *
+ * For example, the following code would force ordering (the initial
+ * value of "a" is zero, "b" is one, and "p" is "&a"):
+ *
+ * <programlisting>
+ *	CPU 0				CPU 1
+ *
+ *	b = 2;
+ *	memory_barrier();
+ *	p = &b;				q = p;
+ *					read_barrier_depends();
+ *					d = *q;
+ * </programlisting>
+ *
+ * because the read of "*q" depends on the read of "p" and these
+ * two reads are separated by a read_barrier_depends().  However,
+ * the following code, with the same initial values for "a" and "b":
+ *
+ * <programlisting>
+ *	CPU 0				CPU 1
+ *
+ *	a = 2;
+ *	memory_barrier();
+ *	b = 3;				y = b;
+ *					read_barrier_depends();
+ *					x = a;
+ * </programlisting>
+ *
+ * does not enforce ordering, since there is no data dependency between
+ * the read of "a" and the read of "b".  Therefore, on some CPUs, such
+ * as Alpha, "y" could be set to 3 and "x" to 0.  Use rmb()
+ * in cases like this where there are no data dependencies.
+ **/
+
+#define read_barrier_depends()	do { } while (0)
+
+#ifdef CONFIG_SMP
+#define smp_mb()	mb()
+#ifdef CONFIG_X86_PPRO_FENCE
+# define smp_rmb()	rmb()
+#else
+# define smp_rmb()	barrier()
+#endif
+#ifdef CONFIG_X86_OOSTORE
+# define smp_wmb() 	wmb()
+#else
+# define smp_wmb()	barrier()
+#endif
+#define smp_read_barrier_depends()	read_barrier_depends()
+#define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
+#else
+#define smp_mb()	barrier()
+#define smp_rmb()	barrier()
+#define smp_wmb()	barrier()
+#define smp_read_barrier_depends()	do { } while (0)
+#define set_mb(var, value) do { var = value; barrier(); } while (0)
+#endif
+
+/*
+ * Stop RDTSC speculation. This is needed when you need to use RDTSC
+ * (or get_cycles or vread that possibly accesses the TSC) in a defined
+ * code region.
+ *
+ * (Could use an alternative three way for this if there was one.)
+ */
+static inline void rdtsc_barrier(void)
+{
+	alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
+	alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
+}
+
+#endif
diff --git a/arch/um/include/sysdep-i386/tls.h b/arch/um/sys-i386/shared/sysdep/tls.h
similarity index 96%
rename from arch/um/include/sysdep-i386/tls.h
rename to arch/um/sys-i386/shared/sysdep/tls.h
index 918fd3c..3455075 100644
--- a/arch/um/include/sysdep-i386/tls.h
+++ b/arch/um/sys-i386/shared/sysdep/tls.h
@@ -21,7 +21,7 @@
 
 # else /* __KERNEL__ */
 
-#  include <asm/ldt.h>
+#  include <ldt.h>
 typedef struct user_desc user_desc_t;
 
 # endif /* __KERNEL__ */
diff --git a/include/asm-um/vm-flags-i386.h b/arch/um/sys-i386/shared/sysdep/vm-flags.h
similarity index 100%
rename from include/asm-um/vm-flags-i386.h
rename to arch/um/sys-i386/shared/sysdep/vm-flags.h
diff --git a/arch/um/sys-i386/stub.S b/arch/um/sys-i386/stub.S
index 7699e89..c41b04b 100644
--- a/arch/um/sys-i386/stub.S
+++ b/arch/um/sys-i386/stub.S
@@ -1,4 +1,3 @@
-#include "uml-config.h"
 #include "as-layout.h"
 
 	.globl syscall_stub
diff --git a/arch/um/sys-i386/syscalls.c b/arch/um/sys-i386/syscalls.c
index e2d1426..857ca0b 100644
--- a/arch/um/sys-i386/syscalls.c
+++ b/arch/um/sys-i386/syscalls.c
@@ -6,6 +6,7 @@
 #include "linux/sched.h"
 #include "linux/shm.h"
 #include "linux/ipc.h"
+#include "linux/syscalls.h"
 #include "asm/mman.h"
 #include "asm/uaccess.h"
 #include "asm/unistd.h"
diff --git a/arch/um/include/sysdep-ia64/ptrace.h b/arch/um/sys-ia64/sysdep/ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-ia64/ptrace.h
rename to arch/um/sys-ia64/sysdep/ptrace.h
diff --git a/arch/um/include/sysdep-ia64/sigcontext.h b/arch/um/sys-ia64/sysdep/sigcontext.h
similarity index 100%
rename from arch/um/include/sysdep-ia64/sigcontext.h
rename to arch/um/sys-ia64/sysdep/sigcontext.h
diff --git a/arch/um/include/sysdep-ia64/skas_ptrace.h b/arch/um/sys-ia64/sysdep/skas_ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-ia64/skas_ptrace.h
rename to arch/um/sys-ia64/sysdep/skas_ptrace.h
diff --git a/arch/um/include/sysdep-ia64/syscalls.h b/arch/um/sys-ia64/sysdep/syscalls.h
similarity index 100%
rename from arch/um/include/sysdep-ia64/syscalls.h
rename to arch/um/sys-ia64/sysdep/syscalls.h
diff --git a/include/asm-um/archparam-ppc.h b/arch/um/sys-ppc/asm/archparam.h
similarity index 100%
rename from include/asm-um/archparam-ppc.h
rename to arch/um/sys-ppc/asm/archparam.h
diff --git a/include/asm-um/elf-ppc.h b/arch/um/sys-ppc/asm/elf.h
similarity index 100%
rename from include/asm-um/elf-ppc.h
rename to arch/um/sys-ppc/asm/elf.h
diff --git a/include/asm-um/processor-ppc.h b/arch/um/sys-ppc/asm/processor.h
similarity index 100%
rename from include/asm-um/processor-ppc.h
rename to arch/um/sys-ppc/asm/processor.h
diff --git a/arch/um/include/sysdep-ppc/ptrace.h b/arch/um/sys-ppc/shared/sysdep/ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-ppc/ptrace.h
rename to arch/um/sys-ppc/shared/sysdep/ptrace.h
diff --git a/arch/um/include/sysdep-ppc/sigcontext.h b/arch/um/sys-ppc/shared/sysdep/sigcontext.h
similarity index 100%
rename from arch/um/include/sysdep-ppc/sigcontext.h
rename to arch/um/sys-ppc/shared/sysdep/sigcontext.h
diff --git a/arch/um/include/sysdep-ppc/skas_ptrace.h b/arch/um/sys-ppc/shared/sysdep/skas_ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-ppc/skas_ptrace.h
rename to arch/um/sys-ppc/shared/sysdep/skas_ptrace.h
diff --git a/arch/um/include/sysdep-ppc/syscalls.h b/arch/um/sys-ppc/shared/sysdep/syscalls.h
similarity index 100%
rename from arch/um/include/sysdep-ppc/syscalls.h
rename to arch/um/sys-ppc/shared/sysdep/syscalls.h
diff --git a/include/asm-um/archparam-x86_64.h b/arch/um/sys-x86_64/asm/archparam.h
similarity index 100%
rename from include/asm-um/archparam-x86_64.h
rename to arch/um/sys-x86_64/asm/archparam.h
diff --git a/include/asm-um/elf-x86_64.h b/arch/um/sys-x86_64/asm/elf.h
similarity index 100%
rename from include/asm-um/elf-x86_64.h
rename to arch/um/sys-x86_64/asm/elf.h
diff --git a/include/asm-um/module-x86_64.h b/arch/um/sys-x86_64/asm/module.h
similarity index 100%
rename from include/asm-um/module-x86_64.h
rename to arch/um/sys-x86_64/asm/module.h
diff --git a/include/asm-um/processor-x86_64.h b/arch/um/sys-x86_64/asm/processor.h
similarity index 96%
rename from include/asm-um/processor-x86_64.h
rename to arch/um/sys-x86_64/asm/processor.h
index e509331..875a26a 100644
--- a/include/asm-um/processor-x86_64.h
+++ b/arch/um/sys-x86_64/asm/processor.h
@@ -40,7 +40,7 @@
 	to->fs = from->fs;
 }
 
-#include "asm/arch/user.h"
+#include <asm/user.h>
 
 #define current_text_addr() \
 	({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; })
diff --git a/include/asm-um/ptrace-x86_64.h b/arch/um/sys-x86_64/asm/ptrace.h
similarity index 84%
rename from include/asm-um/ptrace-x86_64.h
rename to arch/um/sys-x86_64/asm/ptrace.h
index 4c47535..83d8c47 100644
--- a/include/asm-um/ptrace-x86_64.h
+++ b/arch/um/sys-x86_64/asm/ptrace.h
@@ -9,23 +9,12 @@
 
 #include "linux/compiler.h"
 #include "asm/errno.h"
-#include "asm/host_ldt.h"
 
 #define __FRAME_OFFSETS /* Needed to get the R* macros */
 #include "asm/ptrace-generic.h"
 
 #define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
 
-/* Also defined in sysdep/ptrace.h, so may already be defined. */
-#ifndef FS_BASE
-#define FS_BASE (21 * sizeof(unsigned long))
-#define GS_BASE (22 * sizeof(unsigned long))
-#define DS (23 * sizeof(unsigned long))
-#define ES (24 * sizeof(unsigned long))
-#define FS (25 * sizeof(unsigned long))
-#define GS (26 * sizeof(unsigned long))
-#endif
-
 #define PT_REGS_RBX(r) UPT_RBX(&(r)->regs)
 #define PT_REGS_RCX(r) UPT_RCX(&(r)->regs)
 #define PT_REGS_RDX(r) UPT_RDX(&(r)->regs)
@@ -64,6 +53,8 @@
 
 #define profile_pc(regs) PT_REGS_IP(regs)
 
+struct user_desc;
+
 static inline int ptrace_get_thread_area(struct task_struct *child, int idx,
                                          struct user_desc __user *user_desc)
 {
diff --git a/arch/um/include/sysdep-x86_64/archsetjmp.h b/arch/um/sys-x86_64/shared/sysdep/archsetjmp.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/archsetjmp.h
rename to arch/um/sys-x86_64/shared/sysdep/archsetjmp.h
diff --git a/arch/um/include/sysdep-x86_64/barrier.h b/arch/um/sys-x86_64/shared/sysdep/barrier.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/barrier.h
rename to arch/um/sys-x86_64/shared/sysdep/barrier.h
diff --git a/arch/um/include/sysdep-x86_64/checksum.h b/arch/um/sys-x86_64/shared/sysdep/checksum.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/checksum.h
rename to arch/um/sys-x86_64/shared/sysdep/checksum.h
diff --git a/arch/um/include/sysdep-x86_64/faultinfo.h b/arch/um/sys-x86_64/shared/sysdep/faultinfo.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/faultinfo.h
rename to arch/um/sys-x86_64/shared/sysdep/faultinfo.h
diff --git a/include/asm-um/host_ldt-x86_64.h b/arch/um/sys-x86_64/shared/sysdep/host_ldt.h
similarity index 96%
rename from include/asm-um/host_ldt-x86_64.h
rename to arch/um/sys-x86_64/shared/sysdep/host_ldt.h
index 74a63f7..e8b1be1 100644
--- a/include/asm-um/host_ldt-x86_64.h
+++ b/arch/um/sys-x86_64/shared/sysdep/host_ldt.h
@@ -1,7 +1,7 @@
 #ifndef __ASM_HOST_LDT_X86_64_H
 #define __ASM_HOST_LDT_X86_64_H
 
-#include "asm/arch/ldt.h"
+#include <asm/ldt.h>
 
 /*
  * macros stolen from include/asm-x86_64/desc.h
diff --git a/arch/um/include/sysdep-x86_64/kernel-offsets.h b/arch/um/sys-x86_64/shared/sysdep/kernel-offsets.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/kernel-offsets.h
rename to arch/um/sys-x86_64/shared/sysdep/kernel-offsets.h
diff --git a/arch/um/include/sysdep-x86_64/ptrace.h b/arch/um/sys-x86_64/shared/sysdep/ptrace.h
similarity index 99%
rename from arch/um/include/sysdep-x86_64/ptrace.h
rename to arch/um/sys-x86_64/shared/sysdep/ptrace.h
index 9ea44d1..fdba545 100644
--- a/arch/um/include/sysdep-x86_64/ptrace.h
+++ b/arch/um/sys-x86_64/shared/sysdep/ptrace.h
@@ -8,7 +8,6 @@
 #ifndef __SYSDEP_X86_64_PTRACE_H
 #define __SYSDEP_X86_64_PTRACE_H
 
-#include "uml-config.h"
 #include "user_constants.h"
 #include "sysdep/faultinfo.h"
 
diff --git a/arch/um/include/sysdep-x86_64/ptrace_user.h b/arch/um/sys-x86_64/shared/sysdep/ptrace_user.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/ptrace_user.h
rename to arch/um/sys-x86_64/shared/sysdep/ptrace_user.h
diff --git a/arch/um/include/sysdep-x86_64/sc.h b/arch/um/sys-x86_64/shared/sysdep/sc.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/sc.h
rename to arch/um/sys-x86_64/shared/sysdep/sc.h
diff --git a/arch/um/include/sysdep-x86_64/sigcontext.h b/arch/um/sys-x86_64/shared/sysdep/sigcontext.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/sigcontext.h
rename to arch/um/sys-x86_64/shared/sysdep/sigcontext.h
diff --git a/arch/um/include/sysdep-x86_64/skas_ptrace.h b/arch/um/sys-x86_64/shared/sysdep/skas_ptrace.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/skas_ptrace.h
rename to arch/um/sys-x86_64/shared/sysdep/skas_ptrace.h
diff --git a/arch/um/include/sysdep-x86_64/stub.h b/arch/um/sys-x86_64/shared/sysdep/stub.h
similarity index 98%
rename from arch/um/include/sysdep-x86_64/stub.h
rename to arch/um/sys-x86_64/shared/sysdep/stub.h
index 655f9c2..3432aa2 100644
--- a/arch/um/include/sysdep-x86_64/stub.h
+++ b/arch/um/sys-x86_64/shared/sysdep/stub.h
@@ -12,7 +12,6 @@
 #include "as-layout.h"
 #include "stub-data.h"
 #include "kern_constants.h"
-#include "uml-config.h"
 
 extern void stub_segv_handler(int sig);
 extern void stub_clone_handler(void);
diff --git a/arch/um/include/sysdep-x86_64/syscalls.h b/arch/um/sys-x86_64/shared/sysdep/syscalls.h
similarity index 100%
rename from arch/um/include/sysdep-x86_64/syscalls.h
rename to arch/um/sys-x86_64/shared/sysdep/syscalls.h
diff --git a/arch/um/sys-x86_64/shared/sysdep/system.h b/arch/um/sys-x86_64/shared/sysdep/system.h
new file mode 100644
index 0000000..d1b93c4
--- /dev/null
+++ b/arch/um/sys-x86_64/shared/sysdep/system.h
@@ -0,0 +1,132 @@
+#ifndef _ASM_X86_SYSTEM_H_
+#define _ASM_X86_SYSTEM_H_
+
+#include <asm/asm.h>
+#include <asm/segment.h>
+#include <asm/cpufeature.h>
+#include <asm/cmpxchg.h>
+#include <asm/nops.h>
+
+#include <linux/kernel.h>
+#include <linux/irqflags.h>
+
+/* entries in ARCH_DLINFO: */
+#ifdef CONFIG_IA32_EMULATION
+# define AT_VECTOR_SIZE_ARCH 2
+#else
+# define AT_VECTOR_SIZE_ARCH 1
+#endif
+
+extern unsigned long arch_align_stack(unsigned long sp);
+
+void default_idle(void);
+
+/*
+ * Force strict CPU ordering.
+ * And yes, this is required on UP too when we're talking
+ * to devices.
+ */
+#ifdef CONFIG_X86_32
+/*
+ * Some non-Intel clones support out of order store. wmb() ceases to be a
+ * nop for these.
+ */
+#define mb() alternative("lock; addl $0,0(%%esp)", "mfence", X86_FEATURE_XMM2)
+#define rmb() alternative("lock; addl $0,0(%%esp)", "lfence", X86_FEATURE_XMM2)
+#define wmb() alternative("lock; addl $0,0(%%esp)", "sfence", X86_FEATURE_XMM)
+#else
+#define mb() 	asm volatile("mfence":::"memory")
+#define rmb()	asm volatile("lfence":::"memory")
+#define wmb()	asm volatile("sfence" ::: "memory")
+#endif
+
+/**
+ * read_barrier_depends - Flush all pending reads that subsequents reads
+ * depend on.
+ *
+ * No data-dependent reads from memory-like regions are ever reordered
+ * over this barrier.  All reads preceding this primitive are guaranteed
+ * to access memory (but not necessarily other CPUs' caches) before any
+ * reads following this primitive that depend on the data return by
+ * any of the preceding reads.  This primitive is much lighter weight than
+ * rmb() on most CPUs, and is never heavier weight than is
+ * rmb().
+ *
+ * These ordering constraints are respected by both the local CPU
+ * and the compiler.
+ *
+ * Ordering is not guaranteed by anything other than these primitives,
+ * not even by data dependencies.  See the documentation for
+ * memory_barrier() for examples and URLs to more information.
+ *
+ * For example, the following code would force ordering (the initial
+ * value of "a" is zero, "b" is one, and "p" is "&a"):
+ *
+ * <programlisting>
+ *	CPU 0				CPU 1
+ *
+ *	b = 2;
+ *	memory_barrier();
+ *	p = &b;				q = p;
+ *					read_barrier_depends();
+ *					d = *q;
+ * </programlisting>
+ *
+ * because the read of "*q" depends on the read of "p" and these
+ * two reads are separated by a read_barrier_depends().  However,
+ * the following code, with the same initial values for "a" and "b":
+ *
+ * <programlisting>
+ *	CPU 0				CPU 1
+ *
+ *	a = 2;
+ *	memory_barrier();
+ *	b = 3;				y = b;
+ *					read_barrier_depends();
+ *					x = a;
+ * </programlisting>
+ *
+ * does not enforce ordering, since there is no data dependency between
+ * the read of "a" and the read of "b".  Therefore, on some CPUs, such
+ * as Alpha, "y" could be set to 3 and "x" to 0.  Use rmb()
+ * in cases like this where there are no data dependencies.
+ **/
+
+#define read_barrier_depends()	do { } while (0)
+
+#ifdef CONFIG_SMP
+#define smp_mb()	mb()
+#ifdef CONFIG_X86_PPRO_FENCE
+# define smp_rmb()	rmb()
+#else
+# define smp_rmb()	barrier()
+#endif
+#ifdef CONFIG_X86_OOSTORE
+# define smp_wmb() 	wmb()
+#else
+# define smp_wmb()	barrier()
+#endif
+#define smp_read_barrier_depends()	read_barrier_depends()
+#define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
+#else
+#define smp_mb()	barrier()
+#define smp_rmb()	barrier()
+#define smp_wmb()	barrier()
+#define smp_read_barrier_depends()	do { } while (0)
+#define set_mb(var, value) do { var = value; barrier(); } while (0)
+#endif
+
+/*
+ * Stop RDTSC speculation. This is needed when you need to use RDTSC
+ * (or get_cycles or vread that possibly accesses the TSC) in a defined
+ * code region.
+ *
+ * (Could use an alternative three way for this if there was one.)
+ */
+static inline void rdtsc_barrier(void)
+{
+	alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
+	alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
+}
+
+#endif
diff --git a/arch/um/include/sysdep-x86_64/tls.h b/arch/um/sys-x86_64/shared/sysdep/tls.h
similarity index 96%
rename from arch/um/include/sysdep-x86_64/tls.h
rename to arch/um/sys-x86_64/shared/sysdep/tls.h
index 35f19f2..18c000d 100644
--- a/arch/um/include/sysdep-x86_64/tls.h
+++ b/arch/um/sys-x86_64/shared/sysdep/tls.h
@@ -22,7 +22,7 @@
 
 # else /* __KERNEL__ */
 
-#  include <asm/ldt.h>
+#  include <ldt.h>
 typedef struct user_desc user_desc_t;
 
 # endif /* __KERNEL__ */
diff --git a/include/asm-um/vm-flags-x86_64.h b/arch/um/sys-x86_64/shared/sysdep/vm-flags.h
similarity index 100%
rename from include/asm-um/vm-flags-x86_64.h
rename to arch/um/sys-x86_64/shared/sysdep/vm-flags.h
diff --git a/arch/um/sys-x86_64/stub.S b/arch/um/sys-x86_64/stub.S
index 5687687..6d9edf9 100644
--- a/arch/um/sys-x86_64/stub.S
+++ b/arch/um/sys-x86_64/stub.S
@@ -1,4 +1,3 @@
-#include "uml-config.h"
 #include "as-layout.h"
 
 	.globl syscall_stub
diff --git a/arch/um/sys-x86_64/syscall_table.c b/arch/um/sys-x86_64/syscall_table.c
index 32f5fbe..dd21d69 100644
--- a/arch/um/sys-x86_64/syscall_table.c
+++ b/arch/um/sys-x86_64/syscall_table.c
@@ -41,12 +41,12 @@
 #define stub_rt_sigreturn sys_rt_sigreturn
 
 #define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
-#undef ASM_X86__UNISTD_64_H
-#include <asm-x86/unistd_64.h>
+#undef _ASM_X86_UNISTD_64_H
+#include "../../x86/include/asm/unistd_64.h"
 
 #undef __SYSCALL
 #define __SYSCALL(nr, sym) [ nr ] = sym,
-#undef ASM_X86__UNISTD_64_H
+#undef _ASM_X86_UNISTD_64_H
 
 typedef void (*sys_call_ptr_t)(void);
 
@@ -64,7 +64,7 @@
  */
 
 sys_call_ptr_t sys_call_table[] __cacheline_aligned = {
-#include <asm-x86/unistd_64.h>
+#include "../../x86/include/asm/unistd_64.h"
 };
 
 int syscall_table_size = sizeof(sys_call_table);
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5631da..d1a47ad 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -110,16 +110,16 @@
 mcore-y  := arch/x86/mach-default/
 
 # Voyager subarch support
-mflags-$(CONFIG_X86_VOYAGER)	:= -Iinclude/asm-x86/mach-voyager
+mflags-$(CONFIG_X86_VOYAGER)	:= -Iarch/x86/include/asm/mach-voyager
 mcore-$(CONFIG_X86_VOYAGER)	:= arch/x86/mach-voyager/
 
 # generic subarchitecture
-mflags-$(CONFIG_X86_GENERICARCH):= -Iinclude/asm-x86/mach-generic
+mflags-$(CONFIG_X86_GENERICARCH):= -Iarch/x86/include/asm/mach-generic
 fcore-$(CONFIG_X86_GENERICARCH)	+= arch/x86/mach-generic/
 mcore-$(CONFIG_X86_GENERICARCH)	:= arch/x86/mach-default/
 
 # default subarch .h files
-mflags-y += -Iinclude/asm-x86/mach-default
+mflags-y += -Iarch/x86/include/asm/mach-default
 
 # 64 bit does not support subarch support - clear sub arch variables
 fcore-$(CONFIG_X86_64)  :=
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index 5780d36..da06221 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -16,7 +16,7 @@
  */
 #undef CONFIG_PARAVIRT
 #ifdef CONFIG_X86_32
-#define ASM_X86__DESC_H 1
+#define _ASM_X86_DESC_H 1
 #endif
 
 #ifdef CONFIG_X86_64
diff --git a/include/asm-x86/Kbuild b/arch/x86/include/asm/Kbuild
similarity index 100%
rename from include/asm-x86/Kbuild
rename to arch/x86/include/asm/Kbuild
diff --git a/include/asm-x86/a.out-core.h b/arch/x86/include/asm/a.out-core.h
similarity index 95%
rename from include/asm-x86/a.out-core.h
rename to arch/x86/include/asm/a.out-core.h
index f570576..3782220 100644
--- a/include/asm-x86/a.out-core.h
+++ b/arch/x86/include/asm/a.out-core.h
@@ -9,8 +9,8 @@
  * 2 of the Licence, or (at your option) any later version.
  */
 
-#ifndef ASM_X86__A_OUT_CORE_H
-#define ASM_X86__A_OUT_CORE_H
+#ifndef _ASM_X86_A_OUT_CORE_H
+#define _ASM_X86_A_OUT_CORE_H
 
 #ifdef __KERNEL__
 #ifdef CONFIG_X86_32
@@ -70,4 +70,4 @@
 
 #endif /* CONFIG_X86_32 */
 #endif /* __KERNEL__ */
-#endif /* ASM_X86__A_OUT_CORE_H */
+#endif /* _ASM_X86_A_OUT_CORE_H */
diff --git a/include/asm-x86/a.out.h b/arch/x86/include/asm/a.out.h
similarity index 88%
rename from include/asm-x86/a.out.h
rename to arch/x86/include/asm/a.out.h
index 0948748..4684f97 100644
--- a/include/asm-x86/a.out.h
+++ b/arch/x86/include/asm/a.out.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__A_OUT_H
-#define ASM_X86__A_OUT_H
+#ifndef _ASM_X86_A_OUT_H
+#define _ASM_X86_A_OUT_H
 
 struct exec
 {
@@ -17,4 +17,4 @@
 #define N_DRSIZE(a)	((a).a_drsize)
 #define N_SYMSIZE(a)	((a).a_syms)
 
-#endif /* ASM_X86__A_OUT_H */
+#endif /* _ASM_X86_A_OUT_H */
diff --git a/include/asm-x86/acpi.h b/arch/x86/include/asm/acpi.h
similarity index 97%
rename from include/asm-x86/acpi.h
rename to arch/x86/include/asm/acpi.h
index 392e173..8d676d8 100644
--- a/include/asm-x86/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ACPI_H
-#define ASM_X86__ACPI_H
+#ifndef _ASM_X86_ACPI_H
+#define _ASM_X86_ACPI_H
 
 /*
  *  Copyright (C) 2001 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
@@ -175,4 +175,4 @@
 
 #define acpi_unlazy_tlb(x)	leave_mm(x)
 
-#endif /* ASM_X86__ACPI_H */
+#endif /* _ASM_X86_ACPI_H */
diff --git a/include/asm-x86/agp.h b/arch/x86/include/asm/agp.h
similarity index 93%
rename from include/asm-x86/agp.h
rename to arch/x86/include/asm/agp.h
index 3617fd4..9825cd6 100644
--- a/include/asm-x86/agp.h
+++ b/arch/x86/include/asm/agp.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__AGP_H
-#define ASM_X86__AGP_H
+#ifndef _ASM_X86_AGP_H
+#define _ASM_X86_AGP_H
 
 #include <asm/pgtable.h>
 #include <asm/cacheflush.h>
@@ -32,4 +32,4 @@
 #define free_gatt_pages(table, order)	\
 	free_pages((unsigned long)(table), (order))
 
-#endif /* ASM_X86__AGP_H */
+#endif /* _ASM_X86_AGP_H */
diff --git a/include/asm-x86/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h
similarity index 100%
rename from include/asm-x86/alternative-asm.h
rename to arch/x86/include/asm/alternative-asm.h
diff --git a/include/asm-x86/alternative.h b/arch/x86/include/asm/alternative.h
similarity index 98%
rename from include/asm-x86/alternative.h
rename to arch/x86/include/asm/alternative.h
index 22d3c98..f6aa18e 100644
--- a/include/asm-x86/alternative.h
+++ b/arch/x86/include/asm/alternative.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ALTERNATIVE_H
-#define ASM_X86__ALTERNATIVE_H
+#ifndef _ASM_X86_ALTERNATIVE_H
+#define _ASM_X86_ALTERNATIVE_H
 
 #include <linux/types.h>
 #include <linux/stddef.h>
@@ -180,4 +180,4 @@
 extern void *text_poke(void *addr, const void *opcode, size_t len);
 extern void *text_poke_early(void *addr, const void *opcode, size_t len);
 
-#endif /* ASM_X86__ALTERNATIVE_H */
+#endif /* _ASM_X86_ALTERNATIVE_H */
diff --git a/include/asm-x86/amd_iommu.h b/arch/x86/include/asm/amd_iommu.h
similarity index 92%
rename from include/asm-x86/amd_iommu.h
rename to arch/x86/include/asm/amd_iommu.h
index 041d0db..f712344 100644
--- a/include/asm-x86/amd_iommu.h
+++ b/arch/x86/include/asm/amd_iommu.h
@@ -17,8 +17,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#ifndef ASM_X86__AMD_IOMMU_H
-#define ASM_X86__AMD_IOMMU_H
+#ifndef _ASM_X86_AMD_IOMMU_H
+#define _ASM_X86_AMD_IOMMU_H
 
 #include <linux/irqreturn.h>
 
@@ -32,4 +32,4 @@
 static inline void amd_iommu_detect(void) { }
 #endif
 
-#endif /* ASM_X86__AMD_IOMMU_H */
+#endif /* _ASM_X86_AMD_IOMMU_H */
diff --git a/include/asm-x86/amd_iommu_types.h b/arch/x86/include/asm/amd_iommu_types.h
similarity index 98%
rename from include/asm-x86/amd_iommu_types.h
rename to arch/x86/include/asm/amd_iommu_types.h
index b308586..1a30c04 100644
--- a/include/asm-x86/amd_iommu_types.h
+++ b/arch/x86/include/asm/amd_iommu_types.h
@@ -17,8 +17,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#ifndef ASM_X86__AMD_IOMMU_TYPES_H
-#define ASM_X86__AMD_IOMMU_TYPES_H
+#ifndef _ASM_X86_AMD_IOMMU_TYPES_H
+#define _ASM_X86_AMD_IOMMU_TYPES_H
 
 #include <linux/types.h>
 #include <linux/list.h>
@@ -401,4 +401,4 @@
 	return (((u16)bus) << 8) | devfn;
 }
 
-#endif /* ASM_X86__AMD_IOMMU_TYPES_H */
+#endif /* _ASM_X86_AMD_IOMMU_TYPES_H */
diff --git a/include/asm-x86/apic.h b/arch/x86/include/asm/apic.h
similarity index 97%
rename from include/asm-x86/apic.h
rename to arch/x86/include/asm/apic.h
index ef1d72d..3b1510b 100644
--- a/include/asm-x86/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__APIC_H
-#define ASM_X86__APIC_H
+#ifndef _ASM_X86_APIC_H
+#define _ASM_X86_APIC_H
 
 #include <linux/pm.h>
 #include <linux/delay.h>
@@ -196,4 +196,4 @@
 
 #endif /* !CONFIG_X86_LOCAL_APIC */
 
-#endif /* ASM_X86__APIC_H */
+#endif /* _ASM_X86_APIC_H */
diff --git a/include/asm-x86/apicdef.h b/arch/x86/include/asm/apicdef.h
similarity index 98%
rename from include/asm-x86/apicdef.h
rename to arch/x86/include/asm/apicdef.h
index b922c85..63134e3 100644
--- a/include/asm-x86/apicdef.h
+++ b/arch/x86/include/asm/apicdef.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__APICDEF_H
-#define ASM_X86__APICDEF_H
+#ifndef _ASM_X86_APICDEF_H
+#define _ASM_X86_APICDEF_H
 
 /*
  * Constants for various Intel APICs. (local APIC, IOAPIC, etc.)
@@ -414,4 +414,4 @@
 #else
  #define BAD_APICID 0xFFFFu
 #endif
-#endif /* ASM_X86__APICDEF_H */
+#endif /* _ASM_X86_APICDEF_H */
diff --git a/include/asm-x86/arch_hooks.h b/arch/x86/include/asm/arch_hooks.h
similarity index 85%
rename from include/asm-x86/arch_hooks.h
rename to arch/x86/include/asm/arch_hooks.h
index de4596b..cbd4957 100644
--- a/include/asm-x86/arch_hooks.h
+++ b/arch/x86/include/asm/arch_hooks.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ARCH_HOOKS_H
-#define ASM_X86__ARCH_HOOKS_H
+#ifndef _ASM_X86_ARCH_HOOKS_H
+#define _ASM_X86_ARCH_HOOKS_H
 
 #include <linux/interrupt.h>
 
@@ -23,4 +23,4 @@
 extern void time_init_hook(void);
 extern void mca_nmi_hook(void);
 
-#endif /* ASM_X86__ARCH_HOOKS_H */
+#endif /* _ASM_X86_ARCH_HOOKS_H */
diff --git a/include/asm-x86/asm.h b/arch/x86/include/asm/asm.h
similarity index 93%
rename from include/asm-x86/asm.h
rename to arch/x86/include/asm/asm.h
index e1355f4..56be78f 100644
--- a/include/asm-x86/asm.h
+++ b/arch/x86/include/asm/asm.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ASM_H
-#define ASM_X86__ASM_H
+#ifndef _ASM_X86_ASM_H
+#define _ASM_X86_ASM_H
 
 #ifdef __ASSEMBLY__
 # define __ASM_FORM(x)	x
@@ -44,4 +44,4 @@
 	_ASM_PTR #from "," #to "\n" \
 	" .previous\n"
 
-#endif /* ASM_X86__ASM_H */
+#endif /* _ASM_X86_ASM_H */
diff --git a/include/asm-x86/atomic.h b/arch/x86/include/asm/atomic.h
similarity index 100%
rename from include/asm-x86/atomic.h
rename to arch/x86/include/asm/atomic.h
diff --git a/include/asm-x86/atomic_32.h b/arch/x86/include/asm/atomic_32.h
similarity index 98%
rename from include/asm-x86/atomic_32.h
rename to arch/x86/include/asm/atomic_32.h
index 14d3f0b..ad5b9f6 100644
--- a/include/asm-x86/atomic_32.h
+++ b/arch/x86/include/asm/atomic_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ATOMIC_32_H
-#define ASM_X86__ATOMIC_32_H
+#ifndef _ASM_X86_ATOMIC_32_H
+#define _ASM_X86_ATOMIC_32_H
 
 #include <linux/compiler.h>
 #include <asm/processor.h>
@@ -256,4 +256,4 @@
 #define smp_mb__after_atomic_inc()	barrier()
 
 #include <asm-generic/atomic.h>
-#endif /* ASM_X86__ATOMIC_32_H */
+#endif /* _ASM_X86_ATOMIC_32_H */
diff --git a/include/asm-x86/atomic_64.h b/arch/x86/include/asm/atomic_64.h
similarity index 98%
rename from include/asm-x86/atomic_64.h
rename to arch/x86/include/asm/atomic_64.h
index 2cb218c..279d2a7 100644
--- a/include/asm-x86/atomic_64.h
+++ b/arch/x86/include/asm/atomic_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ATOMIC_64_H
-#define ASM_X86__ATOMIC_64_H
+#ifndef _ASM_X86_ATOMIC_64_H
+#define _ASM_X86_ATOMIC_64_H
 
 #include <asm/alternative.h>
 #include <asm/cmpxchg.h>
@@ -470,4 +470,4 @@
 #define smp_mb__after_atomic_inc()	barrier()
 
 #include <asm-generic/atomic.h>
-#endif /* ASM_X86__ATOMIC_64_H */
+#endif /* _ASM_X86_ATOMIC_64_H */
diff --git a/include/asm-x86/auxvec.h b/arch/x86/include/asm/auxvec.h
similarity index 70%
rename from include/asm-x86/auxvec.h
rename to arch/x86/include/asm/auxvec.h
index 12c7cac..1316b4c 100644
--- a/include/asm-x86/auxvec.h
+++ b/arch/x86/include/asm/auxvec.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__AUXVEC_H
-#define ASM_X86__AUXVEC_H
+#ifndef _ASM_X86_AUXVEC_H
+#define _ASM_X86_AUXVEC_H
 /*
  * Architecture-neutral AT_ values in 0-17, leave some room
  * for more of them, start the x86-specific ones at 32.
@@ -9,4 +9,4 @@
 #endif
 #define AT_SYSINFO_EHDR		33
 
-#endif /* ASM_X86__AUXVEC_H */
+#endif /* _ASM_X86_AUXVEC_H */
diff --git a/include/asm-x86/bigsmp/apic.h b/arch/x86/include/asm/bigsmp/apic.h
similarity index 100%
rename from include/asm-x86/bigsmp/apic.h
rename to arch/x86/include/asm/bigsmp/apic.h
diff --git a/include/asm-x86/bigsmp/apicdef.h b/arch/x86/include/asm/bigsmp/apicdef.h
similarity index 100%
rename from include/asm-x86/bigsmp/apicdef.h
rename to arch/x86/include/asm/bigsmp/apicdef.h
diff --git a/include/asm-x86/bigsmp/ipi.h b/arch/x86/include/asm/bigsmp/ipi.h
similarity index 100%
rename from include/asm-x86/bigsmp/ipi.h
rename to arch/x86/include/asm/bigsmp/ipi.h
diff --git a/include/asm-x86/bios_ebda.h b/arch/x86/include/asm/bios_ebda.h
similarity index 88%
rename from include/asm-x86/bios_ebda.h
rename to arch/x86/include/asm/bios_ebda.h
index 79b4b88..3c75210 100644
--- a/include/asm-x86/bios_ebda.h
+++ b/arch/x86/include/asm/bios_ebda.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BIOS_EBDA_H
-#define ASM_X86__BIOS_EBDA_H
+#ifndef _ASM_X86_BIOS_EBDA_H
+#define _ASM_X86_BIOS_EBDA_H
 
 #include <asm/io.h>
 
@@ -33,4 +33,4 @@
 }
 #endif
 
-#endif /* ASM_X86__BIOS_EBDA_H */
+#endif /* _ASM_X86_BIOS_EBDA_H */
diff --git a/include/asm-x86/bitops.h b/arch/x86/include/asm/bitops.h
similarity index 98%
rename from include/asm-x86/bitops.h
rename to arch/x86/include/asm/bitops.h
index 451a747..3600103 100644
--- a/include/asm-x86/bitops.h
+++ b/arch/x86/include/asm/bitops.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BITOPS_H
-#define ASM_X86__BITOPS_H
+#ifndef _ASM_X86_BITOPS_H
+#define _ASM_X86_BITOPS_H
 
 /*
  * Copyright 1992, Linus Torvalds.
@@ -448,4 +448,4 @@
 #include <asm-generic/bitops/minix.h>
 
 #endif /* __KERNEL__ */
-#endif /* ASM_X86__BITOPS_H */
+#endif /* _ASM_X86_BITOPS_H */
diff --git a/include/asm-x86/boot.h b/arch/x86/include/asm/boot.h
similarity index 88%
rename from include/asm-x86/boot.h
rename to arch/x86/include/asm/boot.h
index 1d63bd5..dd61616 100644
--- a/include/asm-x86/boot.h
+++ b/arch/x86/include/asm/boot.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BOOT_H
-#define ASM_X86__BOOT_H
+#ifndef _ASM_X86_BOOT_H
+#define _ASM_X86_BOOT_H
 
 /* Don't touch these, unless you really know what you're doing. */
 #define DEF_SYSSEG	0x1000
@@ -23,4 +23,4 @@
 #define BOOT_STACK_SIZE	0x1000
 #endif
 
-#endif /* ASM_X86__BOOT_H */
+#endif /* _ASM_X86_BOOT_H */
diff --git a/include/asm-x86/bootparam.h b/arch/x86/include/asm/bootparam.h
similarity index 96%
rename from include/asm-x86/bootparam.h
rename to arch/x86/include/asm/bootparam.h
index ccf027e..433adae 100644
--- a/include/asm-x86/bootparam.h
+++ b/arch/x86/include/asm/bootparam.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BOOTPARAM_H
-#define ASM_X86__BOOTPARAM_H
+#ifndef _ASM_X86_BOOTPARAM_H
+#define _ASM_X86_BOOTPARAM_H
 
 #include <linux/types.h>
 #include <linux/screen_info.h>
@@ -108,4 +108,4 @@
 	__u8  _pad9[276];				/* 0xeec */
 } __attribute__((packed));
 
-#endif /* ASM_X86__BOOTPARAM_H */
+#endif /* _ASM_X86_BOOTPARAM_H */
diff --git a/include/asm-x86/bug.h b/arch/x86/include/asm/bug.h
similarity index 89%
rename from include/asm-x86/bug.h
rename to arch/x86/include/asm/bug.h
index 91ad43a..3def206 100644
--- a/include/asm-x86/bug.h
+++ b/arch/x86/include/asm/bug.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BUG_H
-#define ASM_X86__BUG_H
+#ifndef _ASM_X86_BUG_H
+#define _ASM_X86_BUG_H
 
 #ifdef CONFIG_BUG
 #define HAVE_ARCH_BUG
@@ -36,4 +36,4 @@
 #endif /* !CONFIG_BUG */
 
 #include <asm-generic/bug.h>
-#endif /* ASM_X86__BUG_H */
+#endif /* _ASM_X86_BUG_H */
diff --git a/include/asm-x86/bugs.h b/arch/x86/include/asm/bugs.h
similarity index 71%
rename from include/asm-x86/bugs.h
rename to arch/x86/include/asm/bugs.h
index dc60498..08abf63 100644
--- a/include/asm-x86/bugs.h
+++ b/arch/x86/include/asm/bugs.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BUGS_H
-#define ASM_X86__BUGS_H
+#ifndef _ASM_X86_BUGS_H
+#define _ASM_X86_BUGS_H
 
 extern void check_bugs(void);
 
@@ -9,4 +9,4 @@
 static inline int ppro_with_ram_bug(void) { return 0; }
 #endif
 
-#endif /* ASM_X86__BUGS_H */
+#endif /* _ASM_X86_BUGS_H */
diff --git a/include/asm-x86/byteorder.h b/arch/x86/include/asm/byteorder.h
similarity index 93%
rename from include/asm-x86/byteorder.h
rename to arch/x86/include/asm/byteorder.h
index 722f27d..e02ae2d8 100644
--- a/include/asm-x86/byteorder.h
+++ b/arch/x86/include/asm/byteorder.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__BYTEORDER_H
-#define ASM_X86__BYTEORDER_H
+#ifndef _ASM_X86_BYTEORDER_H
+#define _ASM_X86_BYTEORDER_H
 
 #include <asm/types.h>
 #include <linux/compiler.h>
@@ -78,4 +78,4 @@
 
 #include <linux/byteorder/little_endian.h>
 
-#endif /* ASM_X86__BYTEORDER_H */
+#endif /* _ASM_X86_BYTEORDER_H */
diff --git a/include/asm-x86/cache.h b/arch/x86/include/asm/cache.h
similarity index 85%
rename from include/asm-x86/cache.h
rename to arch/x86/include/asm/cache.h
index ea3f1cc..5d367ca 100644
--- a/include/asm-x86/cache.h
+++ b/arch/x86/include/asm/cache.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CACHE_H
-#define ASM_X86__CACHE_H
+#ifndef _ASM_X86_CACHE_H
+#define _ASM_X86_CACHE_H
 
 /* L1 cache line size */
 #define L1_CACHE_SHIFT	(CONFIG_X86_L1_CACHE_SHIFT)
@@ -17,4 +17,4 @@
 #endif
 #endif
 
-#endif /* ASM_X86__CACHE_H */
+#endif /* _ASM_X86_CACHE_H */
diff --git a/include/asm-x86/cacheflush.h b/arch/x86/include/asm/cacheflush.h
similarity index 97%
rename from include/asm-x86/cacheflush.h
rename to arch/x86/include/asm/cacheflush.h
index 68840ef..2f84665 100644
--- a/include/asm-x86/cacheflush.h
+++ b/arch/x86/include/asm/cacheflush.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CACHEFLUSH_H
-#define ASM_X86__CACHEFLUSH_H
+#ifndef _ASM_X86_CACHEFLUSH_H
+#define _ASM_X86_CACHEFLUSH_H
 
 /* Keep includes the same across arches.  */
 #include <linux/mm.h>
@@ -115,4 +115,4 @@
 }
 #endif
 
-#endif /* ASM_X86__CACHEFLUSH_H */
+#endif /* _ASM_X86_CACHEFLUSH_H */
diff --git a/include/asm-x86/calgary.h b/arch/x86/include/asm/calgary.h
similarity index 96%
rename from include/asm-x86/calgary.h
rename to arch/x86/include/asm/calgary.h
index 933fd27..b03bedb 100644
--- a/include/asm-x86/calgary.h
+++ b/arch/x86/include/asm/calgary.h
@@ -21,8 +21,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#ifndef ASM_X86__CALGARY_H
-#define ASM_X86__CALGARY_H
+#ifndef _ASM_X86_CALGARY_H
+#define _ASM_X86_CALGARY_H
 
 #include <linux/spinlock.h>
 #include <linux/device.h>
@@ -69,4 +69,4 @@
 static inline void detect_calgary(void) { return; }
 #endif
 
-#endif /* ASM_X86__CALGARY_H */
+#endif /* _ASM_X86_CALGARY_H */
diff --git a/include/asm-x86/calling.h b/arch/x86/include/asm/calling.h
similarity index 100%
rename from include/asm-x86/calling.h
rename to arch/x86/include/asm/calling.h
diff --git a/include/asm-x86/checksum.h b/arch/x86/include/asm/checksum.h
similarity index 100%
rename from include/asm-x86/checksum.h
rename to arch/x86/include/asm/checksum.h
diff --git a/include/asm-x86/checksum_32.h b/arch/x86/include/asm/checksum_32.h
similarity index 97%
rename from include/asm-x86/checksum_32.h
rename to arch/x86/include/asm/checksum_32.h
index d041e8c..7c5ef8b 100644
--- a/include/asm-x86/checksum_32.h
+++ b/arch/x86/include/asm/checksum_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CHECKSUM_32_H
-#define ASM_X86__CHECKSUM_32_H
+#ifndef _ASM_X86_CHECKSUM_32_H
+#define _ASM_X86_CHECKSUM_32_H
 
 #include <linux/in6.h>
 
@@ -186,4 +186,4 @@
 	return (__force __wsum)-1; /* invalid checksum */
 }
 
-#endif /* ASM_X86__CHECKSUM_32_H */
+#endif /* _ASM_X86_CHECKSUM_32_H */
diff --git a/include/asm-x86/checksum_64.h b/arch/x86/include/asm/checksum_64.h
similarity index 97%
rename from include/asm-x86/checksum_64.h
rename to arch/x86/include/asm/checksum_64.h
index 110f403..9bfdc41 100644
--- a/include/asm-x86/checksum_64.h
+++ b/arch/x86/include/asm/checksum_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CHECKSUM_64_H
-#define ASM_X86__CHECKSUM_64_H
+#ifndef _ASM_X86_CHECKSUM_64_H
+#define _ASM_X86_CHECKSUM_64_H
 
 /*
  * Checksums for x86-64
@@ -188,4 +188,4 @@
 	return a;
 }
 
-#endif /* ASM_X86__CHECKSUM_64_H */
+#endif /* _ASM_X86_CHECKSUM_64_H */
diff --git a/include/asm-x86/cmpxchg.h b/arch/x86/include/asm/cmpxchg.h
similarity index 100%
rename from include/asm-x86/cmpxchg.h
rename to arch/x86/include/asm/cmpxchg.h
diff --git a/include/asm-x86/cmpxchg_32.h b/arch/x86/include/asm/cmpxchg_32.h
similarity index 98%
rename from include/asm-x86/cmpxchg_32.h
rename to arch/x86/include/asm/cmpxchg_32.h
index 0622e45..82ceb78 100644
--- a/include/asm-x86/cmpxchg_32.h
+++ b/arch/x86/include/asm/cmpxchg_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CMPXCHG_32_H
-#define ASM_X86__CMPXCHG_32_H
+#ifndef _ASM_X86_CMPXCHG_32_H
+#define _ASM_X86_CMPXCHG_32_H
 
 #include <linux/bitops.h> /* for LOCK_PREFIX */
 
@@ -341,4 +341,4 @@
 
 #endif
 
-#endif /* ASM_X86__CMPXCHG_32_H */
+#endif /* _ASM_X86_CMPXCHG_32_H */
diff --git a/include/asm-x86/cmpxchg_64.h b/arch/x86/include/asm/cmpxchg_64.h
similarity index 97%
rename from include/asm-x86/cmpxchg_64.h
rename to arch/x86/include/asm/cmpxchg_64.h
index 63c1a5e..52de72e 100644
--- a/include/asm-x86/cmpxchg_64.h
+++ b/arch/x86/include/asm/cmpxchg_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CMPXCHG_64_H
-#define ASM_X86__CMPXCHG_64_H
+#ifndef _ASM_X86_CMPXCHG_64_H
+#define _ASM_X86_CMPXCHG_64_H
 
 #include <asm/alternative.h> /* Provides LOCK_PREFIX */
 
@@ -182,4 +182,4 @@
 	cmpxchg_local((ptr), (o), (n));					\
 })
 
-#endif /* ASM_X86__CMPXCHG_64_H */
+#endif /* _ASM_X86_CMPXCHG_64_H */
diff --git a/include/asm-x86/compat.h b/arch/x86/include/asm/compat.h
similarity index 97%
rename from include/asm-x86/compat.h
rename to arch/x86/include/asm/compat.h
index 6732b15..9a9c7bd 100644
--- a/include/asm-x86/compat.h
+++ b/arch/x86/include/asm/compat.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__COMPAT_H
-#define ASM_X86__COMPAT_H
+#ifndef _ASM_X86_COMPAT_H
+#define _ASM_X86_COMPAT_H
 
 /*
  * Architecture specific compatibility types
@@ -215,4 +215,4 @@
 	return current_thread_info()->status & TS_COMPAT;
 }
 
-#endif /* ASM_X86__COMPAT_H */
+#endif /* _ASM_X86_COMPAT_H */
diff --git a/include/asm-x86/cpu.h b/arch/x86/include/asm/cpu.h
similarity index 80%
rename from include/asm-x86/cpu.h
rename to arch/x86/include/asm/cpu.h
index 83a1150..bae482d 100644
--- a/include/asm-x86/cpu.h
+++ b/arch/x86/include/asm/cpu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CPU_H
-#define ASM_X86__CPU_H
+#ifndef _ASM_X86_CPU_H
+#define _ASM_X86_CPU_H
 
 #include <linux/device.h>
 #include <linux/cpu.h>
@@ -17,4 +17,4 @@
 #endif
 
 DECLARE_PER_CPU(int, cpu_state);
-#endif /* ASM_X86__CPU_H */
+#endif /* _ASM_X86_CPU_H */
diff --git a/include/asm-x86/cpufeature.h b/arch/x86/include/asm/cpufeature.h
similarity index 98%
rename from include/asm-x86/cpufeature.h
rename to arch/x86/include/asm/cpufeature.h
index adfeae6..f73e95d 100644
--- a/include/asm-x86/cpufeature.h
+++ b/arch/x86/include/asm/cpufeature.h
@@ -1,8 +1,8 @@
 /*
  * Defines x86 CPU feature bits
  */
-#ifndef ASM_X86__CPUFEATURE_H
-#define ASM_X86__CPUFEATURE_H
+#ifndef _ASM_X86_CPUFEATURE_H
+#define _ASM_X86_CPUFEATURE_H
 
 #include <asm/required-features.h>
 
@@ -268,4 +268,4 @@
 
 #endif /* defined(__KERNEL__) && !defined(__ASSEMBLY__) */
 
-#endif /* ASM_X86__CPUFEATURE_H */
+#endif /* _ASM_X86_CPUFEATURE_H */
diff --git a/include/asm-x86/cputime.h b/arch/x86/include/asm/cputime.h
similarity index 100%
rename from include/asm-x86/cputime.h
rename to arch/x86/include/asm/cputime.h
diff --git a/include/asm-x86/current.h b/arch/x86/include/asm/current.h
similarity index 87%
rename from include/asm-x86/current.h
rename to arch/x86/include/asm/current.h
index a863ead..0930b4f 100644
--- a/include/asm-x86/current.h
+++ b/arch/x86/include/asm/current.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__CURRENT_H
-#define ASM_X86__CURRENT_H
+#ifndef _ASM_X86_CURRENT_H
+#define _ASM_X86_CURRENT_H
 
 #ifdef CONFIG_X86_32
 #include <linux/compiler.h>
@@ -36,4 +36,4 @@
 
 #define current get_current()
 
-#endif /* ASM_X86__CURRENT_H */
+#endif /* _ASM_X86_CURRENT_H */
diff --git a/include/asm-x86/debugreg.h b/arch/x86/include/asm/debugreg.h
similarity index 96%
rename from include/asm-x86/debugreg.h
rename to arch/x86/include/asm/debugreg.h
index ecb6907..3ea6f37 100644
--- a/include/asm-x86/debugreg.h
+++ b/arch/x86/include/asm/debugreg.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DEBUGREG_H
-#define ASM_X86__DEBUGREG_H
+#ifndef _ASM_X86_DEBUGREG_H
+#define _ASM_X86_DEBUGREG_H
 
 
 /* Indicate the register numbers for a number of the specific
@@ -67,4 +67,4 @@
 #define DR_LOCAL_SLOWDOWN (0x100)   /* Local slow the pipeline */
 #define DR_GLOBAL_SLOWDOWN (0x200)  /* Global slow the pipeline */
 
-#endif /* ASM_X86__DEBUGREG_H */
+#endif /* _ASM_X86_DEBUGREG_H */
diff --git a/include/asm-x86/delay.h b/arch/x86/include/asm/delay.h
similarity index 90%
rename from include/asm-x86/delay.h
rename to arch/x86/include/asm/delay.h
index 8a0da95..409a649 100644
--- a/include/asm-x86/delay.h
+++ b/arch/x86/include/asm/delay.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DELAY_H
-#define ASM_X86__DELAY_H
+#ifndef _ASM_X86_DELAY_H
+#define _ASM_X86_DELAY_H
 
 /*
  * Copyright (C) 1993 Linus Torvalds
@@ -28,4 +28,4 @@
 
 void use_tsc_delay(void);
 
-#endif /* ASM_X86__DELAY_H */
+#endif /* _ASM_X86_DELAY_H */
diff --git a/include/asm-x86/desc.h b/arch/x86/include/asm/desc.h
similarity index 98%
rename from include/asm-x86/desc.h
rename to arch/x86/include/asm/desc.h
index f06adac..e6b82b17 100644
--- a/include/asm-x86/desc.h
+++ b/arch/x86/include/asm/desc.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DESC_H
-#define ASM_X86__DESC_H
+#ifndef _ASM_X86_DESC_H
+#define _ASM_X86_DESC_H
 
 #ifndef __ASSEMBLY__
 #include <asm/desc_defs.h>
@@ -406,4 +406,4 @@
 
 #endif /* __ASSEMBLY__ */
 
-#endif /* ASM_X86__DESC_H */
+#endif /* _ASM_X86_DESC_H */
diff --git a/include/asm-x86/desc_defs.h b/arch/x86/include/asm/desc_defs.h
similarity index 95%
rename from include/asm-x86/desc_defs.h
rename to arch/x86/include/asm/desc_defs.h
index b881db6..a6adefa 100644
--- a/include/asm-x86/desc_defs.h
+++ b/arch/x86/include/asm/desc_defs.h
@@ -1,6 +1,6 @@
 /* Written 2000 by Andi Kleen */
-#ifndef ASM_X86__DESC_DEFS_H
-#define ASM_X86__DESC_DEFS_H
+#ifndef _ASM_X86_DESC_DEFS_H
+#define _ASM_X86_DESC_DEFS_H
 
 /*
  * Segment descriptor structure definitions, usable from both x86_64 and i386
@@ -92,4 +92,4 @@
 
 #endif /* !__ASSEMBLY__ */
 
-#endif /* ASM_X86__DESC_DEFS_H */
+#endif /* _ASM_X86_DESC_DEFS_H */
diff --git a/include/asm-x86/device.h b/arch/x86/include/asm/device.h
similarity index 71%
rename from include/asm-x86/device.h
rename to arch/x86/include/asm/device.h
index 1bece04..3c034f4 100644
--- a/include/asm-x86/device.h
+++ b/arch/x86/include/asm/device.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DEVICE_H
-#define ASM_X86__DEVICE_H
+#ifndef _ASM_X86_DEVICE_H
+#define _ASM_X86_DEVICE_H
 
 struct dev_archdata {
 #ifdef CONFIG_ACPI
@@ -13,4 +13,4 @@
 #endif
 };
 
-#endif /* ASM_X86__DEVICE_H */
+#endif /* _ASM_X86_DEVICE_H */
diff --git a/include/asm-x86/div64.h b/arch/x86/include/asm/div64.h
similarity index 93%
rename from include/asm-x86/div64.h
rename to arch/x86/include/asm/div64.h
index f9530f2..9a2d644 100644
--- a/include/asm-x86/div64.h
+++ b/arch/x86/include/asm/div64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DIV64_H
-#define ASM_X86__DIV64_H
+#ifndef _ASM_X86_DIV64_H
+#define _ASM_X86_DIV64_H
 
 #ifdef CONFIG_X86_32
 
@@ -57,4 +57,4 @@
 # include <asm-generic/div64.h>
 #endif /* CONFIG_X86_32 */
 
-#endif /* ASM_X86__DIV64_H */
+#endif /* _ASM_X86_DIV64_H */
diff --git a/include/asm-x86/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
similarity index 98%
rename from include/asm-x86/dma-mapping.h
rename to arch/x86/include/asm/dma-mapping.h
index 219c33d..4a5397b 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/arch/x86/include/asm/dma-mapping.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DMA_MAPPING_H
-#define ASM_X86__DMA_MAPPING_H
+#ifndef _ASM_X86_DMA_MAPPING_H
+#define _ASM_X86_DMA_MAPPING_H
 
 /*
  * IOMMU interface. See Documentation/DMA-mapping.txt and DMA-API.txt for
@@ -65,7 +65,7 @@
 		return dma_ops;
 	else
 		return dev->archdata.dma_ops;
-#endif /* ASM_X86__DMA_MAPPING_H */
+#endif /* _ASM_X86_DMA_MAPPING_H */
 }
 
 /* Make sure we keep the same behaviour */
diff --git a/include/asm-x86/dma.h b/arch/x86/include/asm/dma.h
similarity index 98%
rename from include/asm-x86/dma.h
rename to arch/x86/include/asm/dma.h
index c9f7a4e..ca1098a 100644
--- a/include/asm-x86/dma.h
+++ b/arch/x86/include/asm/dma.h
@@ -5,8 +5,8 @@
  * and John Boyd, Nov. 1992.
  */
 
-#ifndef ASM_X86__DMA_H
-#define ASM_X86__DMA_H
+#ifndef _ASM_X86_DMA_H
+#define _ASM_X86_DMA_H
 
 #include <linux/spinlock.h>	/* And spinlocks */
 #include <asm/io.h>		/* need byte IO */
@@ -315,4 +315,4 @@
 #define isa_dma_bridge_buggy	(0)
 #endif
 
-#endif /* ASM_X86__DMA_H */
+#endif /* _ASM_X86_DMA_H */
diff --git a/include/asm-x86/dmi.h b/arch/x86/include/asm/dmi.h
similarity index 87%
rename from include/asm-x86/dmi.h
rename to arch/x86/include/asm/dmi.h
index 1cff6fe..bc68212 100644
--- a/include/asm-x86/dmi.h
+++ b/arch/x86/include/asm/dmi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DMI_H
-#define ASM_X86__DMI_H
+#ifndef _ASM_X86_DMI_H
+#define _ASM_X86_DMI_H
 
 #include <asm/io.h>
 
@@ -23,4 +23,4 @@
 #define dmi_ioremap early_ioremap
 #define dmi_iounmap early_iounmap
 
-#endif /* ASM_X86__DMI_H */
+#endif /* _ASM_X86_DMI_H */
diff --git a/include/asm-x86/ds.h b/arch/x86/include/asm/ds.h
similarity index 98%
rename from include/asm-x86/ds.h
rename to arch/x86/include/asm/ds.h
index c3c953a..72c5a19 100644
--- a/include/asm-x86/ds.h
+++ b/arch/x86/include/asm/ds.h
@@ -20,8 +20,8 @@
  * Markus Metzger <markus.t.metzger@intel.com>, 2007-2008
  */
 
-#ifndef ASM_X86__DS_H
-#define ASM_X86__DS_H
+#ifndef _ASM_X86_DS_H
+#define _ASM_X86_DS_H
 
 #ifdef CONFIG_X86_DS
 
@@ -235,4 +235,4 @@
 #define ds_init_intel(config) do {} while (0)
 
 #endif /* CONFIG_X86_DS */
-#endif /* ASM_X86__DS_H */
+#endif /* _ASM_X86_DS_H */
diff --git a/include/asm-x86/dwarf2.h b/arch/x86/include/asm/dwarf2.h
similarity index 94%
rename from include/asm-x86/dwarf2.h
rename to arch/x86/include/asm/dwarf2.h
index 21d1bc3..804b6e6 100644
--- a/include/asm-x86/dwarf2.h
+++ b/arch/x86/include/asm/dwarf2.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__DWARF2_H
-#define ASM_X86__DWARF2_H
+#ifndef _ASM_X86_DWARF2_H
+#define _ASM_X86_DWARF2_H
 
 #ifndef __ASSEMBLY__
 #warning "asm/dwarf2.h should be only included in pure assembly files"
@@ -58,4 +58,4 @@
 
 #endif
 
-#endif /* ASM_X86__DWARF2_H */
+#endif /* _ASM_X86_DWARF2_H */
diff --git a/include/asm-x86/e820.h b/arch/x86/include/asm/e820.h
similarity index 97%
rename from include/asm-x86/e820.h
rename to arch/x86/include/asm/e820.h
index 5abbdec..3d8cedd 100644
--- a/include/asm-x86/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__E820_H
-#define ASM_X86__E820_H
+#ifndef _ASM_X86_E820_H
+#define _ASM_X86_E820_H
 #define E820MAP	0x2d0		/* our map */
 #define E820MAX	128		/* number of entries in E820MAP */
 
@@ -143,4 +143,4 @@
 #define HIGH_MEMORY	(1024*1024)
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__E820_H */
+#endif /* _ASM_X86_E820_H */
diff --git a/include/asm-x86/edac.h b/arch/x86/include/asm/edac.h
similarity index 81%
rename from include/asm-x86/edac.h
rename to arch/x86/include/asm/edac.h
index 9493c5b..e9b57ec 100644
--- a/include/asm-x86/edac.h
+++ b/arch/x86/include/asm/edac.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__EDAC_H
-#define ASM_X86__EDAC_H
+#ifndef _ASM_X86_EDAC_H
+#define _ASM_X86_EDAC_H
 
 /* ECC atomic, DMA, SMP and interrupt safe scrub function */
 
@@ -15,4 +15,4 @@
 		asm volatile("lock; addl $0, %0"::"m" (*virt_addr));
 }
 
-#endif /* ASM_X86__EDAC_H */
+#endif /* _ASM_X86_EDAC_H */
diff --git a/include/asm-x86/efi.h b/arch/x86/include/asm/efi.h
similarity index 97%
rename from include/asm-x86/efi.h
rename to arch/x86/include/asm/efi.h
index 313438e..a2e545c 100644
--- a/include/asm-x86/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__EFI_H
-#define ASM_X86__EFI_H
+#ifndef _ASM_X86_EFI_H
+#define _ASM_X86_EFI_H
 
 #ifdef CONFIG_X86_32
 
@@ -107,4 +107,4 @@
 #define efi_call6(_f, _a1, _a2, _a3, _a4, _a5, _a6)	(-ENOSYS)
 #endif /* CONFIG_EFI */
 
-#endif /* ASM_X86__EFI_H */
+#endif /* _ASM_X86_EFI_H */
diff --git a/include/asm-x86/elf.h b/arch/x86/include/asm/elf.h
similarity index 98%
rename from include/asm-x86/elf.h
rename to arch/x86/include/asm/elf.h
index 26bc15f..40ca1be 100644
--- a/include/asm-x86/elf.h
+++ b/arch/x86/include/asm/elf.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__ELF_H
-#define ASM_X86__ELF_H
+#ifndef _ASM_X86_ELF_H
+#define _ASM_X86_ELF_H
 
 /*
  * ELF register definitions..
@@ -333,4 +333,4 @@
 extern unsigned long arch_randomize_brk(struct mm_struct *mm);
 #define arch_randomize_brk arch_randomize_brk
 
-#endif /* ASM_X86__ELF_H */
+#endif /* _ASM_X86_ELF_H */
diff --git a/include/asm-x86/emergency-restart.h b/arch/x86/include/asm/emergency-restart.h
similarity index 65%
rename from include/asm-x86/emergency-restart.h
rename to arch/x86/include/asm/emergency-restart.h
index 190d0d8..94826cf 100644
--- a/include/asm-x86/emergency-restart.h
+++ b/arch/x86/include/asm/emergency-restart.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__EMERGENCY_RESTART_H
-#define ASM_X86__EMERGENCY_RESTART_H
+#ifndef _ASM_X86_EMERGENCY_RESTART_H
+#define _ASM_X86_EMERGENCY_RESTART_H
 
 enum reboot_type {
 	BOOT_TRIPLE = 't',
@@ -15,4 +15,4 @@
 
 extern void machine_emergency_restart(void);
 
-#endif /* ASM_X86__EMERGENCY_RESTART_H */
+#endif /* _ASM_X86_EMERGENCY_RESTART_H */
diff --git a/include/asm-x86/errno.h b/arch/x86/include/asm/errno.h
similarity index 100%
rename from include/asm-x86/errno.h
rename to arch/x86/include/asm/errno.h
diff --git a/include/asm-x86/es7000/apic.h b/arch/x86/include/asm/es7000/apic.h
similarity index 100%
rename from include/asm-x86/es7000/apic.h
rename to arch/x86/include/asm/es7000/apic.h
diff --git a/include/asm-x86/es7000/apicdef.h b/arch/x86/include/asm/es7000/apicdef.h
similarity index 100%
rename from include/asm-x86/es7000/apicdef.h
rename to arch/x86/include/asm/es7000/apicdef.h
diff --git a/include/asm-x86/es7000/ipi.h b/arch/x86/include/asm/es7000/ipi.h
similarity index 100%
rename from include/asm-x86/es7000/ipi.h
rename to arch/x86/include/asm/es7000/ipi.h
diff --git a/include/asm-x86/es7000/mpparse.h b/arch/x86/include/asm/es7000/mpparse.h
similarity index 100%
rename from include/asm-x86/es7000/mpparse.h
rename to arch/x86/include/asm/es7000/mpparse.h
diff --git a/include/asm-x86/es7000/wakecpu.h b/arch/x86/include/asm/es7000/wakecpu.h
similarity index 100%
rename from include/asm-x86/es7000/wakecpu.h
rename to arch/x86/include/asm/es7000/wakecpu.h
diff --git a/include/asm-x86/fb.h b/arch/x86/include/asm/fb.h
similarity index 85%
rename from include/asm-x86/fb.h
rename to arch/x86/include/asm/fb.h
index aca38dbd..5301846 100644
--- a/include/asm-x86/fb.h
+++ b/arch/x86/include/asm/fb.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__FB_H
-#define ASM_X86__FB_H
+#ifndef _ASM_X86_FB_H
+#define _ASM_X86_FB_H
 
 #include <linux/fb.h>
 #include <linux/fs.h>
@@ -18,4 +18,4 @@
 static inline int fb_is_primary_device(struct fb_info *info) { return 0; }
 #endif
 
-#endif /* ASM_X86__FB_H */
+#endif /* _ASM_X86_FB_H */
diff --git a/include/asm-x86/fcntl.h b/arch/x86/include/asm/fcntl.h
similarity index 100%
rename from include/asm-x86/fcntl.h
rename to arch/x86/include/asm/fcntl.h
diff --git a/include/asm-x86/fixmap.h b/arch/x86/include/asm/fixmap.h
similarity index 95%
rename from include/asm-x86/fixmap.h
rename to arch/x86/include/asm/fixmap.h
index 78e33a1..8668a94 100644
--- a/include/asm-x86/fixmap.h
+++ b/arch/x86/include/asm/fixmap.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__FIXMAP_H
-#define ASM_X86__FIXMAP_H
+#ifndef _ASM_X86_FIXMAP_H
+#define _ASM_X86_FIXMAP_H
 
 #ifdef CONFIG_X86_32
 # include "fixmap_32.h"
@@ -65,4 +65,4 @@
 	BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
 	return __virt_to_fix(vaddr);
 }
-#endif /* ASM_X86__FIXMAP_H */
+#endif /* _ASM_X86_FIXMAP_H */
diff --git a/include/asm-x86/fixmap_32.h b/arch/x86/include/asm/fixmap_32.h
similarity index 97%
rename from include/asm-x86/fixmap_32.h
rename to arch/x86/include/asm/fixmap_32.h
index 8844002..09f29ab 100644
--- a/include/asm-x86/fixmap_32.h
+++ b/arch/x86/include/asm/fixmap_32.h
@@ -10,8 +10,8 @@
  * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999
  */
 
-#ifndef ASM_X86__FIXMAP_32_H
-#define ASM_X86__FIXMAP_32_H
+#ifndef _ASM_X86_FIXMAP_32_H
+#define _ASM_X86_FIXMAP_32_H
 
 
 /* used by vmalloc.c, vsyscall.lds.S.
@@ -120,4 +120,4 @@
 #define FIXADDR_BOOT_START	(FIXADDR_TOP - __FIXADDR_BOOT_SIZE)
 
 #endif /* !__ASSEMBLY__ */
-#endif /* ASM_X86__FIXMAP_32_H */
+#endif /* _ASM_X86_FIXMAP_32_H */
diff --git a/include/asm-x86/fixmap_64.h b/arch/x86/include/asm/fixmap_64.h
similarity index 95%
rename from include/asm-x86/fixmap_64.h
rename to arch/x86/include/asm/fixmap_64.h
index dab4751..00a30ab9 100644
--- a/include/asm-x86/fixmap_64.h
+++ b/arch/x86/include/asm/fixmap_64.h
@@ -8,8 +8,8 @@
  * Copyright (C) 1998 Ingo Molnar
  */
 
-#ifndef ASM_X86__FIXMAP_64_H
-#define ASM_X86__FIXMAP_64_H
+#ifndef _ASM_X86_FIXMAP_64_H
+#define _ASM_X86_FIXMAP_64_H
 
 #include <linux/kernel.h>
 #include <asm/acpi.h>
@@ -80,4 +80,4 @@
 #define FIXADDR_USER_START	((unsigned long)VSYSCALL32_VSYSCALL)
 #define FIXADDR_USER_END	(FIXADDR_USER_START + PAGE_SIZE)
 
-#endif /* ASM_X86__FIXMAP_64_H */
+#endif /* _ASM_X86_FIXMAP_64_H */
diff --git a/include/asm-x86/floppy.h b/arch/x86/include/asm/floppy.h
similarity index 98%
rename from include/asm-x86/floppy.h
rename to arch/x86/include/asm/floppy.h
index 7d83a3a..dbe82a5 100644
--- a/include/asm-x86/floppy.h
+++ b/arch/x86/include/asm/floppy.h
@@ -7,8 +7,8 @@
  *
  * Copyright (C) 1995
  */
-#ifndef ASM_X86__FLOPPY_H
-#define ASM_X86__FLOPPY_H
+#ifndef _ASM_X86_FLOPPY_H
+#define _ASM_X86_FLOPPY_H
 
 #include <linux/vmalloc.h>
 
@@ -278,4 +278,4 @@
 
 #define EXTRA_FLOPPY_PARAMS
 
-#endif /* ASM_X86__FLOPPY_H */
+#endif /* _ASM_X86_FLOPPY_H */
diff --git a/include/asm-x86/frame.h b/arch/x86/include/asm/frame.h
similarity index 100%
rename from include/asm-x86/frame.h
rename to arch/x86/include/asm/frame.h
diff --git a/include/asm-x86/ftrace.h b/arch/x86/include/asm/ftrace.h
similarity index 84%
rename from include/asm-x86/ftrace.h
rename to arch/x86/include/asm/ftrace.h
index 1bb6f9bb..47f7e65 100644
--- a/include/asm-x86/ftrace.h
+++ b/arch/x86/include/asm/ftrace.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__FTRACE_H
-#define ASM_X86__FTRACE_H
+#ifndef _ASM_X86_FTRACE_H
+#define _ASM_X86_FTRACE_H
 
 #ifdef CONFIG_FTRACE
 #define MCOUNT_ADDR		((long)(mcount))
@@ -21,4 +21,4 @@
 
 #endif /* CONFIG_FTRACE */
 
-#endif /* ASM_X86__FTRACE_H */
+#endif /* _ASM_X86_FTRACE_H */
diff --git a/include/asm-x86/futex.h b/arch/x86/include/asm/futex.h
similarity index 97%
rename from include/asm-x86/futex.h
rename to arch/x86/include/asm/futex.h
index 06b924e..1f11ce4 100644
--- a/include/asm-x86/futex.h
+++ b/arch/x86/include/asm/futex.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__FUTEX_H
-#define ASM_X86__FUTEX_H
+#ifndef _ASM_X86_FUTEX_H
+#define _ASM_X86_FUTEX_H
 
 #ifdef __KERNEL__
 
@@ -137,4 +137,4 @@
 }
 
 #endif
-#endif /* ASM_X86__FUTEX_H */
+#endif /* _ASM_X86_FUTEX_H */
diff --git a/include/asm-x86/gart.h b/arch/x86/include/asm/gart.h
similarity index 95%
rename from include/asm-x86/gart.h
rename to arch/x86/include/asm/gart.h
index 605edb3..7425226 100644
--- a/include/asm-x86/gart.h
+++ b/arch/x86/include/asm/gart.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__GART_H
-#define ASM_X86__GART_H
+#ifndef _ASM_X86_GART_H
+#define _ASM_X86_GART_H
 
 #include <asm/e820.h>
 
@@ -70,4 +70,4 @@
 	return 1;
 }
 
-#endif /* ASM_X86__GART_H */
+#endif /* _ASM_X86_GART_H */
diff --git a/include/asm-x86/genapic.h b/arch/x86/include/asm/genapic.h
similarity index 100%
rename from include/asm-x86/genapic.h
rename to arch/x86/include/asm/genapic.h
diff --git a/include/asm-x86/genapic_32.h b/arch/x86/include/asm/genapic_32.h
similarity index 96%
rename from include/asm-x86/genapic_32.h
rename to arch/x86/include/asm/genapic_32.h
index 6fe4f81..5cbd4fc 100644
--- a/include/asm-x86/genapic_32.h
+++ b/arch/x86/include/asm/genapic_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__GENAPIC_32_H
-#define ASM_X86__GENAPIC_32_H
+#ifndef _ASM_X86_GENAPIC_32_H
+#define _ASM_X86_GENAPIC_32_H
 
 #include <asm/mpspec.h>
 
@@ -123,4 +123,4 @@
 #define uv_system_init()		do {} while (0)
 
 
-#endif /* ASM_X86__GENAPIC_32_H */
+#endif /* _ASM_X86_GENAPIC_32_H */
diff --git a/include/asm-x86/genapic_64.h b/arch/x86/include/asm/genapic_64.h
similarity index 94%
rename from include/asm-x86/genapic_64.h
rename to arch/x86/include/asm/genapic_64.h
index ed6a488..13c4e96 100644
--- a/include/asm-x86/genapic_64.h
+++ b/arch/x86/include/asm/genapic_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__GENAPIC_64_H
-#define ASM_X86__GENAPIC_64_H
+#ifndef _ASM_X86_GENAPIC_64_H
+#define _ASM_X86_GENAPIC_64_H
 
 /*
  * Copyright 2004 James Cleverdon, IBM.
@@ -55,4 +55,4 @@
 
 extern void setup_apic_routing(void);
 
-#endif /* ASM_X86__GENAPIC_64_H */
+#endif /* _ASM_X86_GENAPIC_64_H */
diff --git a/include/asm-x86/geode.h b/arch/x86/include/asm/geode.h
similarity index 98%
rename from include/asm-x86/geode.h
rename to arch/x86/include/asm/geode.h
index 3f3444b..ad3c2ed 100644
--- a/include/asm-x86/geode.h
+++ b/arch/x86/include/asm/geode.h
@@ -7,8 +7,8 @@
  * as published by the Free Software Foundation.
  */
 
-#ifndef ASM_X86__GEODE_H
-#define ASM_X86__GEODE_H
+#ifndef _ASM_X86_GEODE_H
+#define _ASM_X86_GEODE_H
 
 #include <asm/processor.h>
 #include <linux/io.h>
@@ -250,4 +250,4 @@
 static inline int mfgpt_timer_setup(void) { return 0; }
 #endif
 
-#endif /* ASM_X86__GEODE_H */
+#endif /* _ASM_X86_GEODE_H */
diff --git a/include/asm-x86/gpio.h b/arch/x86/include/asm/gpio.h
similarity index 92%
rename from include/asm-x86/gpio.h
rename to arch/x86/include/asm/gpio.h
index 497fb98..49dbfdf 100644
--- a/include/asm-x86/gpio.h
+++ b/arch/x86/include/asm/gpio.h
@@ -13,8 +13,8 @@
  * (at your option) any later version.
  */
 
-#ifndef _ASM_I386_GPIO_H
-#define _ASM_I386_GPIO_H
+#ifndef _ASM_X86_GPIO_H
+#define _ASM_X86_GPIO_H
 
 #include <asm-generic/gpio.h>
 
@@ -53,4 +53,4 @@
 
 #endif /* CONFIG_GPIOLIB */
 
-#endif /* ASM_X86__GPIO_H */
+#endif /* _ASM_X86_GPIO_H */
diff --git a/include/asm-x86/hardirq.h b/arch/x86/include/asm/hardirq.h
similarity index 100%
rename from include/asm-x86/hardirq.h
rename to arch/x86/include/asm/hardirq.h
diff --git a/include/asm-x86/hardirq_32.h b/arch/x86/include/asm/hardirq_32.h
similarity index 86%
rename from include/asm-x86/hardirq_32.h
rename to arch/x86/include/asm/hardirq_32.h
index 700fe23..5ca135e 100644
--- a/include/asm-x86/hardirq_32.h
+++ b/arch/x86/include/asm/hardirq_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HARDIRQ_32_H
-#define ASM_X86__HARDIRQ_32_H
+#ifndef _ASM_X86_HARDIRQ_32_H
+#define _ASM_X86_HARDIRQ_32_H
 
 #include <linux/threads.h>
 #include <linux/irq.h>
@@ -25,4 +25,4 @@
 void ack_bad_irq(unsigned int irq);
 #include <linux/irq_cpustat.h>
 
-#endif /* ASM_X86__HARDIRQ_32_H */
+#endif /* _ASM_X86_HARDIRQ_32_H */
diff --git a/include/asm-x86/hardirq_64.h b/arch/x86/include/asm/hardirq_64.h
similarity index 83%
rename from include/asm-x86/hardirq_64.h
rename to arch/x86/include/asm/hardirq_64.h
index f8bd291..1ba381f 100644
--- a/include/asm-x86/hardirq_64.h
+++ b/arch/x86/include/asm/hardirq_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HARDIRQ_64_H
-#define ASM_X86__HARDIRQ_64_H
+#ifndef _ASM_X86_HARDIRQ_64_H
+#define _ASM_X86_HARDIRQ_64_H
 
 #include <linux/threads.h>
 #include <linux/irq.h>
@@ -20,4 +20,4 @@
 
 extern void ack_bad_irq(unsigned int irq);
 
-#endif /* ASM_X86__HARDIRQ_64_H */
+#endif /* _ASM_X86_HARDIRQ_64_H */
diff --git a/include/asm-x86/highmem.h b/arch/x86/include/asm/highmem.h
similarity index 95%
rename from include/asm-x86/highmem.h
rename to arch/x86/include/asm/highmem.h
index bc3f6a2..a3b3b7c 100644
--- a/include/asm-x86/highmem.h
+++ b/arch/x86/include/asm/highmem.h
@@ -15,8 +15,8 @@
  * Copyright (C) 1999 Ingo Molnar <mingo@redhat.com>
  */
 
-#ifndef ASM_X86__HIGHMEM_H
-#define ASM_X86__HIGHMEM_H
+#ifndef _ASM_X86_HIGHMEM_H
+#define _ASM_X86_HIGHMEM_H
 
 #ifdef __KERNEL__
 
@@ -79,4 +79,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__HIGHMEM_H */
+#endif /* _ASM_X86_HIGHMEM_H */
diff --git a/include/asm-x86/hpet.h b/arch/x86/include/asm/hpet.h
similarity index 97%
rename from include/asm-x86/hpet.h
rename to arch/x86/include/asm/hpet.h
index 58b273f..1c22cb0 100644
--- a/include/asm-x86/hpet.h
+++ b/arch/x86/include/asm/hpet.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HPET_H
-#define ASM_X86__HPET_H
+#ifndef _ASM_X86_HPET_H
+#define _ASM_X86_HPET_H
 
 #include <linux/msi.h>
 
@@ -111,4 +111,4 @@
 #define hpet_readl(a) 0
 
 #endif
-#endif /* ASM_X86__HPET_H */
+#endif /* _ASM_X86_HPET_H */
diff --git a/include/asm-x86/hugetlb.h b/arch/x86/include/asm/hugetlb.h
similarity index 95%
rename from include/asm-x86/hugetlb.h
rename to arch/x86/include/asm/hugetlb.h
index 0b7ec5d..439a9ac 100644
--- a/include/asm-x86/hugetlb.h
+++ b/arch/x86/include/asm/hugetlb.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HUGETLB_H
-#define ASM_X86__HUGETLB_H
+#ifndef _ASM_X86_HUGETLB_H
+#define _ASM_X86_HUGETLB_H
 
 #include <asm/page.h>
 
@@ -90,4 +90,4 @@
 {
 }
 
-#endif /* ASM_X86__HUGETLB_H */
+#endif /* _ASM_X86_HUGETLB_H */
diff --git a/include/asm-x86/hw_irq.h b/arch/x86/include/asm/hw_irq.h
similarity index 97%
rename from include/asm-x86/hw_irq.h
rename to arch/x86/include/asm/hw_irq.h
index 749d042..b97aecb 100644
--- a/include/asm-x86/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HW_IRQ_H
-#define ASM_X86__HW_IRQ_H
+#ifndef _ASM_X86_HW_IRQ_H
+#define _ASM_X86_HW_IRQ_H
 
 /*
  * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
@@ -128,4 +128,4 @@
 
 #endif /* !ASSEMBLY_ */
 
-#endif /* ASM_X86__HW_IRQ_H */
+#endif /* _ASM_X86_HW_IRQ_H */
diff --git a/include/asm-x86/hypertransport.h b/arch/x86/include/asm/hypertransport.h
similarity index 91%
rename from include/asm-x86/hypertransport.h
rename to arch/x86/include/asm/hypertransport.h
index cc011a3..334b1a8 100644
--- a/include/asm-x86/hypertransport.h
+++ b/arch/x86/include/asm/hypertransport.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__HYPERTRANSPORT_H
-#define ASM_X86__HYPERTRANSPORT_H
+#ifndef _ASM_X86_HYPERTRANSPORT_H
+#define _ASM_X86_HYPERTRANSPORT_H
 
 /*
  * Constants for x86 Hypertransport Interrupts.
@@ -42,4 +42,4 @@
 #define HT_IRQ_HIGH_DEST_ID(v)						\
 	((((v) >> 8) << HT_IRQ_HIGH_DEST_ID_SHIFT) & HT_IRQ_HIGH_DEST_ID_MASK)
 
-#endif /* ASM_X86__HYPERTRANSPORT_H */
+#endif /* _ASM_X86_HYPERTRANSPORT_H */
diff --git a/include/asm-x86/i387.h b/arch/x86/include/asm/i387.h
similarity index 98%
rename from include/asm-x86/i387.h
rename to arch/x86/include/asm/i387.h
index 9ba862a..48f0004 100644
--- a/include/asm-x86/i387.h
+++ b/arch/x86/include/asm/i387.h
@@ -7,8 +7,8 @@
  * x86-64 work by Andi Kleen 2002
  */
 
-#ifndef ASM_X86__I387_H
-#define ASM_X86__I387_H
+#ifndef _ASM_X86_I387_H
+#define _ASM_X86_I387_H
 
 #include <linux/sched.h>
 #include <linux/kernel_stat.h>
@@ -397,4 +397,4 @@
 	}
 }
 
-#endif /* ASM_X86__I387_H */
+#endif /* _ASM_X86_I387_H */
diff --git a/include/asm-x86/i8253.h b/arch/x86/include/asm/i8253.h
similarity index 76%
rename from include/asm-x86/i8253.h
rename to arch/x86/include/asm/i8253.h
index 15a5b53..1edbf89 100644
--- a/include/asm-x86/i8253.h
+++ b/arch/x86/include/asm/i8253.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__I8253_H
-#define ASM_X86__I8253_H
+#ifndef _ASM_X86_I8253_H
+#define _ASM_X86_I8253_H
 
 /* i8253A PIT registers */
 #define PIT_MODE		0x43
@@ -15,4 +15,4 @@
 #define inb_pit		inb_p
 #define outb_pit	outb_p
 
-#endif /* ASM_X86__I8253_H */
+#endif /* _ASM_X86_I8253_H */
diff --git a/include/asm-x86/i8259.h b/arch/x86/include/asm/i8259.h
similarity index 94%
rename from include/asm-x86/i8259.h
rename to arch/x86/include/asm/i8259.h
index 23c1b3b..58d7091 100644
--- a/include/asm-x86/i8259.h
+++ b/arch/x86/include/asm/i8259.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__I8259_H
-#define ASM_X86__I8259_H
+#ifndef _ASM_X86_I8259_H
+#define _ASM_X86_I8259_H
 
 #include <linux/delay.h>
 
@@ -60,4 +60,4 @@
 extern void mask_8259A(void);
 extern void unmask_8259A(void);
 
-#endif /* ASM_X86__I8259_H */
+#endif /* _ASM_X86_I8259_H */
diff --git a/include/asm-x86/ia32.h b/arch/x86/include/asm/ia32.h
similarity index 97%
rename from include/asm-x86/ia32.h
rename to arch/x86/include/asm/ia32.h
index f932f7a..97989c0 100644
--- a/include/asm-x86/ia32.h
+++ b/arch/x86/include/asm/ia32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IA32_H
-#define ASM_X86__IA32_H
+#ifndef _ASM_X86_IA32_H
+#define _ASM_X86_IA32_H
 
 
 #ifdef CONFIG_IA32_EMULATION
@@ -167,4 +167,4 @@
 
 #endif /* !CONFIG_IA32_SUPPORT */
 
-#endif /* ASM_X86__IA32_H */
+#endif /* _ASM_X86_IA32_H */
diff --git a/include/asm-x86/ia32_unistd.h b/arch/x86/include/asm/ia32_unistd.h
similarity index 81%
rename from include/asm-x86/ia32_unistd.h
rename to arch/x86/include/asm/ia32_unistd.h
index dbd887d..976f6ec 100644
--- a/include/asm-x86/ia32_unistd.h
+++ b/arch/x86/include/asm/ia32_unistd.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IA32_UNISTD_H
-#define ASM_X86__IA32_UNISTD_H
+#ifndef _ASM_X86_IA32_UNISTD_H
+#define _ASM_X86_IA32_UNISTD_H
 
 /*
  * This file contains the system call numbers of the ia32 port,
@@ -15,4 +15,4 @@
 #define __NR_ia32_sigreturn	119
 #define __NR_ia32_rt_sigreturn	173
 
-#endif /* ASM_X86__IA32_UNISTD_H */
+#endif /* _ASM_X86_IA32_UNISTD_H */
diff --git a/include/asm-x86/idle.h b/arch/x86/include/asm/idle.h
similarity index 76%
rename from include/asm-x86/idle.h
rename to arch/x86/include/asm/idle.h
index 32227f0..44c89c3 100644
--- a/include/asm-x86/idle.h
+++ b/arch/x86/include/asm/idle.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IDLE_H
-#define ASM_X86__IDLE_H
+#ifndef _ASM_X86_IDLE_H
+#define _ASM_X86_IDLE_H
 
 #define IDLE_START 1
 #define IDLE_END 2
@@ -13,4 +13,4 @@
 
 void c1e_remove_cpu(int cpu);
 
-#endif /* ASM_X86__IDLE_H */
+#endif /* _ASM_X86_IDLE_H */
diff --git a/include/asm-x86/intel_arch_perfmon.h b/arch/x86/include/asm/intel_arch_perfmon.h
similarity index 86%
rename from include/asm-x86/intel_arch_perfmon.h
rename to arch/x86/include/asm/intel_arch_perfmon.h
index 07c03c6..fa0fd06 100644
--- a/include/asm-x86/intel_arch_perfmon.h
+++ b/arch/x86/include/asm/intel_arch_perfmon.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__INTEL_ARCH_PERFMON_H
-#define ASM_X86__INTEL_ARCH_PERFMON_H
+#ifndef _ASM_X86_INTEL_ARCH_PERFMON_H
+#define _ASM_X86_INTEL_ARCH_PERFMON_H
 
 #define MSR_ARCH_PERFMON_PERFCTR0		0xc1
 #define MSR_ARCH_PERFMON_PERFCTR1		0xc2
@@ -28,4 +28,4 @@
 	unsigned int full;
 };
 
-#endif /* ASM_X86__INTEL_ARCH_PERFMON_H */
+#endif /* _ASM_X86_INTEL_ARCH_PERFMON_H */
diff --git a/include/asm-x86/io.h b/arch/x86/include/asm/io.h
similarity index 97%
rename from include/asm-x86/io.h
rename to arch/x86/include/asm/io.h
index a233f83..5618a10 100644
--- a/include/asm-x86/io.h
+++ b/arch/x86/include/asm/io.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IO_H
-#define ASM_X86__IO_H
+#ifndef _ASM_X86_IO_H
+#define _ASM_X86_IO_H
 
 #define ARCH_HAS_IOREMAP_WC
 
@@ -88,4 +88,4 @@
 extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
 
 
-#endif /* ASM_X86__IO_H */
+#endif /* _ASM_X86_IO_H */
diff --git a/include/asm-x86/io_32.h b/arch/x86/include/asm/io_32.h
similarity index 98%
rename from include/asm-x86/io_32.h
rename to arch/x86/include/asm/io_32.h
index 4f7d878..d8e242e 100644
--- a/include/asm-x86/io_32.h
+++ b/arch/x86/include/asm/io_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IO_32_H
-#define ASM_X86__IO_32_H
+#ifndef _ASM_X86_IO_32_H
+#define _ASM_X86_IO_32_H
 
 #include <linux/string.h>
 #include <linux/compiler.h>
@@ -281,4 +281,4 @@
 BUILDIO(w, w, short)
 BUILDIO(l, , int)
 
-#endif /* ASM_X86__IO_32_H */
+#endif /* _ASM_X86_IO_32_H */
diff --git a/include/asm-x86/io_64.h b/arch/x86/include/asm/io_64.h
similarity index 98%
rename from include/asm-x86/io_64.h
rename to arch/x86/include/asm/io_64.h
index ee6e086..fea325a 100644
--- a/include/asm-x86/io_64.h
+++ b/arch/x86/include/asm/io_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IO_64_H
-#define ASM_X86__IO_64_H
+#ifndef _ASM_X86_IO_64_H
+#define _ASM_X86_IO_64_H
 
 
 /*
@@ -241,4 +241,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__IO_64_H */
+#endif /* _ASM_X86_IO_64_H */
diff --git a/include/asm-x86/io_apic.h b/arch/x86/include/asm/io_apic.h
similarity index 97%
rename from include/asm-x86/io_apic.h
rename to arch/x86/include/asm/io_apic.h
index d35cbd7..6afd993 100644
--- a/include/asm-x86/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IO_APIC_H
-#define ASM_X86__IO_APIC_H
+#ifndef _ASM_X86_IO_APIC_H
+#define _ASM_X86_IO_APIC_H
 
 #include <linux/types.h>
 #include <asm/mpspec.h>
@@ -201,4 +201,4 @@
 }
 #endif
 
-#endif /* ASM_X86__IO_APIC_H */
+#endif /* _ASM_X86_IO_APIC_H */
diff --git a/include/asm-x86/ioctl.h b/arch/x86/include/asm/ioctl.h
similarity index 100%
rename from include/asm-x86/ioctl.h
rename to arch/x86/include/asm/ioctl.h
diff --git a/include/asm-x86/ioctls.h b/arch/x86/include/asm/ioctls.h
similarity index 96%
rename from include/asm-x86/ioctls.h
rename to arch/x86/include/asm/ioctls.h
index 06752a6..0d5b23b7 100644
--- a/include/asm-x86/ioctls.h
+++ b/arch/x86/include/asm/ioctls.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IOCTLS_H
-#define ASM_X86__IOCTLS_H
+#ifndef _ASM_X86_IOCTLS_H
+#define _ASM_X86_IOCTLS_H
 
 #include <asm/ioctl.h>
 
@@ -91,4 +91,4 @@
 
 #define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
 
-#endif /* ASM_X86__IOCTLS_H */
+#endif /* _ASM_X86_IOCTLS_H */
diff --git a/include/asm-x86/iommu.h b/arch/x86/include/asm/iommu.h
similarity index 92%
rename from include/asm-x86/iommu.h
rename to arch/x86/include/asm/iommu.h
index 2daaffc..98e28ea 100644
--- a/include/asm-x86/iommu.h
+++ b/arch/x86/include/asm/iommu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IOMMU_H
-#define ASM_X86__IOMMU_H
+#ifndef _ASM_X86_IOMMU_H
+#define _ASM_X86_IOMMU_H
 
 extern void pci_iommu_shutdown(void);
 extern void no_iommu_init(void);
@@ -47,4 +47,4 @@
 }
 #endif
 
-#endif /* ASM_X86__IOMMU_H */
+#endif /* _ASM_X86_IOMMU_H */
diff --git a/include/asm-x86/ipcbuf.h b/arch/x86/include/asm/ipcbuf.h
similarity index 86%
rename from include/asm-x86/ipcbuf.h
rename to arch/x86/include/asm/ipcbuf.h
index 910304f..ee678fd 100644
--- a/include/asm-x86/ipcbuf.h
+++ b/arch/x86/include/asm/ipcbuf.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IPCBUF_H
-#define ASM_X86__IPCBUF_H
+#ifndef _ASM_X86_IPCBUF_H
+#define _ASM_X86_IPCBUF_H
 
 /*
  * The ipc64_perm structure for x86 architecture.
@@ -25,4 +25,4 @@
 	unsigned long		__unused2;
 };
 
-#endif /* ASM_X86__IPCBUF_H */
+#endif /* _ASM_X86_IPCBUF_H */
diff --git a/include/asm-x86/ipi.h b/arch/x86/include/asm/ipi.h
similarity index 97%
rename from include/asm-x86/ipi.h
rename to arch/x86/include/asm/ipi.h
index 30a692c..f89dffb 100644
--- a/include/asm-x86/ipi.h
+++ b/arch/x86/include/asm/ipi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IPI_H
-#define ASM_X86__IPI_H
+#ifndef _ASM_X86_IPI_H
+#define _ASM_X86_IPI_H
 
 /*
  * Copyright 2004 James Cleverdon, IBM.
@@ -135,4 +135,4 @@
 	local_irq_restore(flags);
 }
 
-#endif /* ASM_X86__IPI_H */
+#endif /* _ASM_X86_IPI_H */
diff --git a/include/asm-x86/irq.h b/arch/x86/include/asm/irq.h
similarity index 92%
rename from include/asm-x86/irq.h
rename to arch/x86/include/asm/irq.h
index 1e5f290..bae0eda 100644
--- a/include/asm-x86/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IRQ_H
-#define ASM_X86__IRQ_H
+#ifndef _ASM_X86_IRQ_H
+#define _ASM_X86_IRQ_H
 /*
  *	(C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
  *
@@ -47,4 +47,4 @@
 /* Interrupt vector management */
 extern DECLARE_BITMAP(used_vectors, NR_VECTORS);
 
-#endif /* ASM_X86__IRQ_H */
+#endif /* _ASM_X86_IRQ_H */
diff --git a/include/asm-x86/irq_regs.h b/arch/x86/include/asm/irq_regs.h
similarity index 100%
rename from include/asm-x86/irq_regs.h
rename to arch/x86/include/asm/irq_regs.h
diff --git a/include/asm-x86/irq_regs_32.h b/arch/x86/include/asm/irq_regs_32.h
similarity index 83%
rename from include/asm-x86/irq_regs_32.h
rename to arch/x86/include/asm/irq_regs_32.h
index 316a3b2..af2f02d 100644
--- a/include/asm-x86/irq_regs_32.h
+++ b/arch/x86/include/asm/irq_regs_32.h
@@ -4,8 +4,8 @@
  *
  * Jeremy Fitzhardinge <jeremy@goop.org>
  */
-#ifndef ASM_X86__IRQ_REGS_32_H
-#define ASM_X86__IRQ_REGS_32_H
+#ifndef _ASM_X86_IRQ_REGS_32_H
+#define _ASM_X86_IRQ_REGS_32_H
 
 #include <asm/percpu.h>
 
@@ -26,4 +26,4 @@
 	return old_regs;
 }
 
-#endif /* ASM_X86__IRQ_REGS_32_H */
+#endif /* _ASM_X86_IRQ_REGS_32_H */
diff --git a/include/asm-x86/irq_regs_64.h b/arch/x86/include/asm/irq_regs_64.h
similarity index 100%
rename from include/asm-x86/irq_regs_64.h
rename to arch/x86/include/asm/irq_regs_64.h
diff --git a/arch/x86/include/asm/irq_remapping.h b/arch/x86/include/asm/irq_remapping.h
new file mode 100644
index 0000000..20e1fd5
--- /dev/null
+++ b/arch/x86/include/asm/irq_remapping.h
@@ -0,0 +1,8 @@
+#ifndef _ASM_X86_IRQ_REMAPPING_H
+#define _ASM_X86_IRQ_REMAPPING_H
+
+extern int x2apic;
+
+#define IRTE_DEST(dest) ((x2apic) ? dest : dest << 8)
+
+#endif	/* _ASM_X86_IRQ_REMAPPING_H */
diff --git a/include/asm-x86/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h
similarity index 97%
rename from include/asm-x86/irq_vectors.h
rename to arch/x86/include/asm/irq_vectors.h
index a8d065d..d843ed0 100644
--- a/include/asm-x86/irq_vectors.h
+++ b/arch/x86/include/asm/irq_vectors.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IRQ_VECTORS_H
-#define ASM_X86__IRQ_VECTORS_H
+#ifndef _ASM_X86_IRQ_VECTORS_H
+#define _ASM_X86_IRQ_VECTORS_H
 
 #include <linux/threads.h>
 
@@ -161,4 +161,4 @@
 #define VIC_CPU_BOOT_ERRATA_CPI		(VIC_CPI_LEVEL0 + 8)
 
 
-#endif /* ASM_X86__IRQ_VECTORS_H */
+#endif /* _ASM_X86_IRQ_VECTORS_H */
diff --git a/include/asm-x86/irqflags.h b/arch/x86/include/asm/irqflags.h
similarity index 100%
rename from include/asm-x86/irqflags.h
rename to arch/x86/include/asm/irqflags.h
diff --git a/include/asm-x86/ist.h b/arch/x86/include/asm/ist.h
similarity index 91%
rename from include/asm-x86/ist.h
rename to arch/x86/include/asm/ist.h
index 35a2fe9..7e5dff1 100644
--- a/include/asm-x86/ist.h
+++ b/arch/x86/include/asm/ist.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__IST_H
-#define ASM_X86__IST_H
+#ifndef _ASM_X86_IST_H
+#define _ASM_X86_IST_H
 
 /*
  * Include file for the interface to IST BIOS
@@ -31,4 +31,4 @@
 extern struct ist_info ist_info;
 
 #endif	/* __KERNEL__ */
-#endif /* ASM_X86__IST_H */
+#endif /* _ASM_X86_IST_H */
diff --git a/include/asm-x86/k8.h b/arch/x86/include/asm/k8.h
similarity index 81%
rename from include/asm-x86/k8.h
rename to arch/x86/include/asm/k8.h
index 2bbaf43..54c8cc5 100644
--- a/include/asm-x86/k8.h
+++ b/arch/x86/include/asm/k8.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__K8_H
-#define ASM_X86__K8_H
+#ifndef _ASM_X86_K8_H
+#define _ASM_X86_K8_H
 
 #include <linux/pci.h>
 
@@ -12,4 +12,4 @@
 extern void k8_flush_garts(void);
 extern int k8_scan_nodes(unsigned long start, unsigned long end);
 
-#endif /* ASM_X86__K8_H */
+#endif /* _ASM_X86_K8_H */
diff --git a/include/asm-x86/kdebug.h b/arch/x86/include/asm/kdebug.h
similarity index 90%
rename from include/asm-x86/kdebug.h
rename to arch/x86/include/asm/kdebug.h
index fbbab66..fa7c0b9 100644
--- a/include/asm-x86/kdebug.h
+++ b/arch/x86/include/asm/kdebug.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KDEBUG_H
-#define ASM_X86__KDEBUG_H
+#ifndef _ASM_X86_KDEBUG_H
+#define _ASM_X86_KDEBUG_H
 
 #include <linux/notifier.h>
 
@@ -34,4 +34,4 @@
 extern unsigned long oops_begin(void);
 extern void oops_end(unsigned long, struct pt_regs *, int signr);
 
-#endif /* ASM_X86__KDEBUG_H */
+#endif /* _ASM_X86_KDEBUG_H */
diff --git a/include/asm-x86/kexec.h b/arch/x86/include/asm/kexec.h
similarity index 98%
rename from include/asm-x86/kexec.h
rename to arch/x86/include/asm/kexec.h
index ea09600..a1f2277 100644
--- a/include/asm-x86/kexec.h
+++ b/arch/x86/include/asm/kexec.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KEXEC_H
-#define ASM_X86__KEXEC_H
+#ifndef _ASM_X86_KEXEC_H
+#define _ASM_X86_KEXEC_H
 
 #ifdef CONFIG_X86_32
 # define PA_CONTROL_PAGE	0
@@ -172,4 +172,4 @@
 
 #endif /* __ASSEMBLY__ */
 
-#endif /* ASM_X86__KEXEC_H */
+#endif /* _ASM_X86_KEXEC_H */
diff --git a/include/asm-x86/kgdb.h b/arch/x86/include/asm/kgdb.h
similarity index 95%
rename from include/asm-x86/kgdb.h
rename to arch/x86/include/asm/kgdb.h
index d283863..e6c6c80 100644
--- a/include/asm-x86/kgdb.h
+++ b/arch/x86/include/asm/kgdb.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KGDB_H
-#define ASM_X86__KGDB_H
+#ifndef _ASM_X86_KGDB_H
+#define _ASM_X86_KGDB_H
 
 /*
  * Copyright (C) 2001-2004 Amit S. Kale
@@ -76,4 +76,4 @@
 #define BREAK_INSTR_SIZE	1
 #define CACHE_FLUSH_IS_SAFE	1
 
-#endif /* ASM_X86__KGDB_H */
+#endif /* _ASM_X86_KGDB_H */
diff --git a/include/asm-x86/kmap_types.h b/arch/x86/include/asm/kmap_types.h
similarity index 80%
rename from include/asm-x86/kmap_types.h
rename to arch/x86/include/asm/kmap_types.h
index 89f4449..5759c16 100644
--- a/include/asm-x86/kmap_types.h
+++ b/arch/x86/include/asm/kmap_types.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KMAP_TYPES_H
-#define ASM_X86__KMAP_TYPES_H
+#ifndef _ASM_X86_KMAP_TYPES_H
+#define _ASM_X86_KMAP_TYPES_H
 
 #if defined(CONFIG_X86_32) && defined(CONFIG_DEBUG_HIGHMEM)
 # define D(n) __KM_FENCE_##n ,
@@ -26,4 +26,4 @@
 
 #undef D
 
-#endif /* ASM_X86__KMAP_TYPES_H */
+#endif /* _ASM_X86_KMAP_TYPES_H */
diff --git a/include/asm-x86/kprobes.h b/arch/x86/include/asm/kprobes.h
similarity index 96%
rename from include/asm-x86/kprobes.h
rename to arch/x86/include/asm/kprobes.h
index 8a0748d..4fe681d 100644
--- a/include/asm-x86/kprobes.h
+++ b/arch/x86/include/asm/kprobes.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KPROBES_H
-#define ASM_X86__KPROBES_H
+#ifndef _ASM_X86_KPROBES_H
+#define _ASM_X86_KPROBES_H
 /*
  *  Kernel Probes (KProbes)
  *
@@ -85,4 +85,4 @@
 extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
 extern int kprobe_exceptions_notify(struct notifier_block *self,
 				    unsigned long val, void *data);
-#endif /* ASM_X86__KPROBES_H */
+#endif /* _ASM_X86_KPROBES_H */
diff --git a/include/asm-x86/kvm.h b/arch/x86/include/asm/kvm.h
similarity index 97%
rename from include/asm-x86/kvm.h
rename to arch/x86/include/asm/kvm.h
index ba0dd79..b95162a 100644
--- a/include/asm-x86/kvm.h
+++ b/arch/x86/include/asm/kvm.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KVM_H
-#define ASM_X86__KVM_H
+#ifndef _ASM_X86_KVM_H
+#define _ASM_X86_KVM_H
 
 /*
  * KVM x86 specific structures and definitions
@@ -208,4 +208,4 @@
 struct kvm_pit_state {
 	struct kvm_pit_channel_state channels[3];
 };
-#endif /* ASM_X86__KVM_H */
+#endif /* _ASM_X86_KVM_H */
diff --git a/include/asm-x86/kvm_host.h b/arch/x86/include/asm/kvm_host.h
similarity index 99%
rename from include/asm-x86/kvm_host.h
rename to arch/x86/include/asm/kvm_host.h
index 411fb8c..65679d0 100644
--- a/include/asm-x86/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -8,8 +8,8 @@
  *
  */
 
-#ifndef ASM_X86__KVM_HOST_H
-#define ASM_X86__KVM_HOST_H
+#ifndef _ASM_X86_KVM_HOST_H
+#define _ASM_X86_KVM_HOST_H
 
 #include <linux/types.h>
 #include <linux/mm.h>
@@ -749,4 +749,4 @@
 int kvm_unmap_hva(struct kvm *kvm, unsigned long hva);
 int kvm_age_hva(struct kvm *kvm, unsigned long hva);
 
-#endif /* ASM_X86__KVM_HOST_H */
+#endif /* _ASM_X86_KVM_HOST_H */
diff --git a/include/asm-x86/kvm_para.h b/arch/x86/include/asm/kvm_para.h
similarity index 96%
rename from include/asm-x86/kvm_para.h
rename to arch/x86/include/asm/kvm_para.h
index 30054fd..b8a3305 100644
--- a/include/asm-x86/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__KVM_PARA_H
-#define ASM_X86__KVM_PARA_H
+#ifndef _ASM_X86_KVM_PARA_H
+#define _ASM_X86_KVM_PARA_H
 
 /* This CPUID returns the signature 'KVMKVMKVM' in ebx, ecx, and edx.  It
  * should be used to determine that a VM is running under KVM.
@@ -144,4 +144,4 @@
 
 #endif
 
-#endif /* ASM_X86__KVM_PARA_H */
+#endif /* _ASM_X86_KVM_PARA_H */
diff --git a/include/asm-x86/kvm_x86_emulate.h b/arch/x86/include/asm/kvm_x86_emulate.h
similarity index 97%
rename from include/asm-x86/kvm_x86_emulate.h
rename to arch/x86/include/asm/kvm_x86_emulate.h
index e2d9b03..25179a2 100644
--- a/include/asm-x86/kvm_x86_emulate.h
+++ b/arch/x86/include/asm/kvm_x86_emulate.h
@@ -8,8 +8,8 @@
  * From: xen-unstable 10676:af9809f51f81a3c43f276f00c81a52ef558afda4
  */
 
-#ifndef ASM_X86__KVM_X86_EMULATE_H
-#define ASM_X86__KVM_X86_EMULATE_H
+#ifndef _ASM_X86_KVM_X86_EMULATE_H
+#define _ASM_X86_KVM_X86_EMULATE_H
 
 struct x86_emulate_ctxt;
 
@@ -181,4 +181,4 @@
 int x86_emulate_insn(struct x86_emulate_ctxt *ctxt,
 		     struct x86_emulate_ops *ops);
 
-#endif /* ASM_X86__KVM_X86_EMULATE_H */
+#endif /* _ASM_X86_KVM_X86_EMULATE_H */
diff --git a/include/asm-x86/ldt.h b/arch/x86/include/asm/ldt.h
similarity index 91%
rename from include/asm-x86/ldt.h
rename to arch/x86/include/asm/ldt.h
index a522850..46727eb 100644
--- a/include/asm-x86/ldt.h
+++ b/arch/x86/include/asm/ldt.h
@@ -3,8 +3,8 @@
  *
  * Definitions of structures used with the modify_ldt system call.
  */
-#ifndef ASM_X86__LDT_H
-#define ASM_X86__LDT_H
+#ifndef _ASM_X86_LDT_H
+#define _ASM_X86_LDT_H
 
 /* Maximum number of LDT entries supported. */
 #define LDT_ENTRIES	8192
@@ -37,4 +37,4 @@
 #define MODIFY_LDT_CONTENTS_CODE	2
 
 #endif /* !__ASSEMBLY__ */
-#endif /* ASM_X86__LDT_H */
+#endif /* _ASM_X86_LDT_H */
diff --git a/include/asm-x86/lguest.h b/arch/x86/include/asm/lguest.h
similarity index 96%
rename from include/asm-x86/lguest.h
rename to arch/x86/include/asm/lguest.h
index 7505e94..d28a507 100644
--- a/include/asm-x86/lguest.h
+++ b/arch/x86/include/asm/lguest.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__LGUEST_H
-#define ASM_X86__LGUEST_H
+#ifndef _ASM_X86_LGUEST_H
+#define _ASM_X86_LGUEST_H
 
 #define GDT_ENTRY_LGUEST_CS	10
 #define GDT_ENTRY_LGUEST_DS	11
@@ -91,4 +91,4 @@
 
 #endif /* __ASSEMBLY__ */
 
-#endif /* ASM_X86__LGUEST_H */
+#endif /* _ASM_X86_LGUEST_H */
diff --git a/include/asm-x86/lguest_hcall.h b/arch/x86/include/asm/lguest_hcall.h
similarity index 95%
rename from include/asm-x86/lguest_hcall.h
rename to arch/x86/include/asm/lguest_hcall.h
index 8f034ba..4389442 100644
--- a/include/asm-x86/lguest_hcall.h
+++ b/arch/x86/include/asm/lguest_hcall.h
@@ -1,6 +1,6 @@
 /* Architecture specific portion of the lguest hypercalls */
-#ifndef ASM_X86__LGUEST_HCALL_H
-#define ASM_X86__LGUEST_HCALL_H
+#ifndef _ASM_X86_LGUEST_HCALL_H
+#define _ASM_X86_LGUEST_HCALL_H
 
 #define LHCALL_FLUSH_ASYNC	0
 #define LHCALL_LGUEST_INIT	1
@@ -68,4 +68,4 @@
 };
 
 #endif /* !__ASSEMBLY__ */
-#endif /* ASM_X86__LGUEST_HCALL_H */
+#endif /* _ASM_X86_LGUEST_HCALL_H */
diff --git a/include/asm-x86/linkage.h b/arch/x86/include/asm/linkage.h
similarity index 95%
rename from include/asm-x86/linkage.h
rename to arch/x86/include/asm/linkage.h
index 42d8b62..f61ee8f 100644
--- a/include/asm-x86/linkage.h
+++ b/arch/x86/include/asm/linkage.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__LINKAGE_H
-#define ASM_X86__LINKAGE_H
+#ifndef _ASM_X86_LINKAGE_H
+#define _ASM_X86_LINKAGE_H
 
 #undef notrace
 #define notrace __attribute__((no_instrument_function))
@@ -57,5 +57,5 @@
 #define __ALIGN_STR ".align 16,0x90"
 #endif
 
-#endif /* ASM_X86__LINKAGE_H */
+#endif /* _ASM_X86_LINKAGE_H */
 
diff --git a/include/asm-x86/local.h b/arch/x86/include/asm/local.h
similarity index 98%
rename from include/asm-x86/local.h
rename to arch/x86/include/asm/local.h
index ae91994..47b9b6f 100644
--- a/include/asm-x86/local.h
+++ b/arch/x86/include/asm/local.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__LOCAL_H
-#define ASM_X86__LOCAL_H
+#ifndef _ASM_X86_LOCAL_H
+#define _ASM_X86_LOCAL_H
 
 #include <linux/percpu.h>
 
@@ -232,4 +232,4 @@
 #define __cpu_local_add(i, l)	cpu_local_add((i), (l))
 #define __cpu_local_sub(i, l)	cpu_local_sub((i), (l))
 
-#endif /* ASM_X86__LOCAL_H */
+#endif /* _ASM_X86_LOCAL_H */
diff --git a/include/asm-x86/mach-default/apm.h b/arch/x86/include/asm/mach-default/apm.h
similarity index 92%
rename from include/asm-x86/mach-default/apm.h
rename to arch/x86/include/asm/mach-default/apm.h
index 2aa61b5..20370c6 100644
--- a/include/asm-x86/mach-default/apm.h
+++ b/arch/x86/include/asm/mach-default/apm.h
@@ -3,8 +3,8 @@
  *  Split out from apm.c by Osamu Tomita <tomita@cinet.co.jp>
  */
 
-#ifndef ASM_X86__MACH_DEFAULT__APM_H
-#define ASM_X86__MACH_DEFAULT__APM_H
+#ifndef _ASM_X86_MACH_DEFAULT_APM_H
+#define _ASM_X86_MACH_DEFAULT_APM_H
 
 #ifdef APM_ZERO_SEGS
 #	define APM_DO_ZERO_SEGS \
@@ -70,4 +70,4 @@
 	return error;
 }
 
-#endif /* ASM_X86__MACH_DEFAULT__APM_H */
+#endif /* _ASM_X86_MACH_DEFAULT_APM_H */
diff --git a/include/asm-x86/mach-default/do_timer.h b/arch/x86/include/asm/mach-default/do_timer.h
similarity index 100%
rename from include/asm-x86/mach-default/do_timer.h
rename to arch/x86/include/asm/mach-default/do_timer.h
diff --git a/include/asm-x86/mach-default/entry_arch.h b/arch/x86/include/asm/mach-default/entry_arch.h
similarity index 100%
rename from include/asm-x86/mach-default/entry_arch.h
rename to arch/x86/include/asm/mach-default/entry_arch.h
diff --git a/include/asm-x86/mach-default/mach_apic.h b/arch/x86/include/asm/mach-default/mach_apic.h
similarity index 96%
rename from include/asm-x86/mach-default/mach_apic.h
rename to arch/x86/include/asm/mach-default/mach_apic.h
index 3c66f2c..ff3a6c2 100644
--- a/include/asm-x86/mach-default/mach_apic.h
+++ b/arch/x86/include/asm/mach-default/mach_apic.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_APIC_H
-#define ASM_X86__MACH_DEFAULT__MACH_APIC_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_APIC_H
+#define _ASM_X86_MACH_DEFAULT_MACH_APIC_H
 
 #ifdef CONFIG_X86_LOCAL_APIC
 
@@ -153,4 +153,4 @@
 {
 }
 #endif /* CONFIG_X86_LOCAL_APIC */
-#endif /* ASM_X86__MACH_DEFAULT__MACH_APIC_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_APIC_H */
diff --git a/include/asm-x86/mach-default/mach_apicdef.h b/arch/x86/include/asm/mach-default/mach_apicdef.h
similarity index 76%
rename from include/asm-x86/mach-default/mach_apicdef.h
rename to arch/x86/include/asm/mach-default/mach_apicdef.h
index 0c2d41c..5317993 100644
--- a/include/asm-x86/mach-default/mach_apicdef.h
+++ b/arch/x86/include/asm/mach-default/mach_apicdef.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_APICDEF_H
-#define ASM_X86__MACH_DEFAULT__MACH_APICDEF_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_APICDEF_H
+#define _ASM_X86_MACH_DEFAULT_MACH_APICDEF_H
 
 #include <asm/apic.h>
 
@@ -21,4 +21,4 @@
 #define		GET_APIC_ID(x)	get_apic_id(x)
 #endif
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_APICDEF_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_APICDEF_H */
diff --git a/include/asm-x86/mach-default/mach_ipi.h b/arch/x86/include/asm/mach-default/mach_ipi.h
similarity index 91%
rename from include/asm-x86/mach-default/mach_ipi.h
rename to arch/x86/include/asm/mach-default/mach_ipi.h
index 674bc7e..fabca01 100644
--- a/include/asm-x86/mach-default/mach_ipi.h
+++ b/arch/x86/include/asm/mach-default/mach_ipi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_IPI_H
-#define ASM_X86__MACH_DEFAULT__MACH_IPI_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_IPI_H
+#define _ASM_X86_MACH_DEFAULT_MACH_IPI_H
 
 /* Avoid include hell */
 #define NMI_VECTOR 0x02
@@ -61,4 +61,4 @@
 }
 #endif
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_IPI_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_IPI_H */
diff --git a/include/asm-x86/mach-default/mach_mpparse.h b/arch/x86/include/asm/mach-default/mach_mpparse.h
similarity index 62%
rename from include/asm-x86/mach-default/mach_mpparse.h
rename to arch/x86/include/asm/mach-default/mach_mpparse.h
index 9c381f2..8c1ea212 100644
--- a/include/asm-x86/mach-default/mach_mpparse.h
+++ b/arch/x86/include/asm/mach-default/mach_mpparse.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_MPPARSE_H
-#define ASM_X86__MACH_DEFAULT__MACH_MPPARSE_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_MPPARSE_H
+#define _ASM_X86_MACH_DEFAULT_MACH_MPPARSE_H
 
 static inline int mps_oem_check(struct mp_config_table *mpc, char *oem, 
 		char *productid)
@@ -14,4 +14,4 @@
 }
 
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_MPPARSE_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_MPPARSE_H */
diff --git a/arch/x86/include/asm/mach-default/mach_mpspec.h b/arch/x86/include/asm/mach-default/mach_mpspec.h
new file mode 100644
index 0000000..e85ede6
--- /dev/null
+++ b/arch/x86/include/asm/mach-default/mach_mpspec.h
@@ -0,0 +1,12 @@
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_MPSPEC_H
+#define _ASM_X86_MACH_DEFAULT_MACH_MPSPEC_H
+
+#define MAX_IRQ_SOURCES 256
+
+#if CONFIG_BASE_SMALL == 0
+#define MAX_MP_BUSSES 256
+#else
+#define MAX_MP_BUSSES 32
+#endif
+
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_MPSPEC_H */
diff --git a/include/asm-x86/mach-default/mach_timer.h b/arch/x86/include/asm/mach-default/mach_timer.h
similarity index 90%
rename from include/asm-x86/mach-default/mach_timer.h
rename to arch/x86/include/asm/mach-default/mach_timer.h
index 990b158..8537285 100644
--- a/include/asm-x86/mach-default/mach_timer.h
+++ b/arch/x86/include/asm/mach-default/mach_timer.h
@@ -10,8 +10,8 @@
  * directly because of the awkward 8-bit access mechanism of the 82C54
  * device.
  */
-#ifndef ASM_X86__MACH_DEFAULT__MACH_TIMER_H
-#define ASM_X86__MACH_DEFAULT__MACH_TIMER_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_TIMER_H
+#define _ASM_X86_MACH_DEFAULT_MACH_TIMER_H
 
 #define CALIBRATE_TIME_MSEC 30 /* 30 msecs */
 #define CALIBRATE_LATCH	\
@@ -45,4 +45,4 @@
 	*count_p = count;
 }
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_TIMER_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_TIMER_H */
diff --git a/include/asm-x86/mach-default/mach_traps.h b/arch/x86/include/asm/mach-default/mach_traps.h
similarity index 80%
rename from include/asm-x86/mach-default/mach_traps.h
rename to arch/x86/include/asm/mach-default/mach_traps.h
index ff8778f..f792060 100644
--- a/include/asm-x86/mach-default/mach_traps.h
+++ b/arch/x86/include/asm/mach-default/mach_traps.h
@@ -2,8 +2,8 @@
  *  Machine specific NMI handling for generic.
  *  Split out from traps.c by Osamu Tomita <tomita@cinet.co.jp>
  */
-#ifndef ASM_X86__MACH_DEFAULT__MACH_TRAPS_H
-#define ASM_X86__MACH_DEFAULT__MACH_TRAPS_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_TRAPS_H
+#define _ASM_X86_MACH_DEFAULT_MACH_TRAPS_H
 
 #include <asm/mc146818rtc.h>
 
@@ -30,4 +30,4 @@
 		unlock_cmos();
 }
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_TRAPS_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_TRAPS_H */
diff --git a/include/asm-x86/mach-default/mach_wakecpu.h b/arch/x86/include/asm/mach-default/mach_wakecpu.h
similarity index 85%
rename from include/asm-x86/mach-default/mach_wakecpu.h
rename to arch/x86/include/asm/mach-default/mach_wakecpu.h
index 361b810..d5c0b82 100644
--- a/include/asm-x86/mach-default/mach_wakecpu.h
+++ b/arch/x86/include/asm/mach-default/mach_wakecpu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_WAKECPU_H
-#define ASM_X86__MACH_DEFAULT__MACH_WAKECPU_H
+#ifndef _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H
+#define _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H
 
 /* 
  * This file copes with machines that wakeup secondary CPUs by the
@@ -39,4 +39,4 @@
  #define inquire_remote_apic(apicid) {}
 #endif
 
-#endif /* ASM_X86__MACH_DEFAULT__MACH_WAKECPU_H */
+#endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
diff --git a/include/asm-x86/mach-default/pci-functions.h b/arch/x86/include/asm/mach-default/pci-functions.h
similarity index 100%
rename from include/asm-x86/mach-default/pci-functions.h
rename to arch/x86/include/asm/mach-default/pci-functions.h
diff --git a/include/asm-x86/mach-default/setup_arch.h b/arch/x86/include/asm/mach-default/setup_arch.h
similarity index 100%
rename from include/asm-x86/mach-default/setup_arch.h
rename to arch/x86/include/asm/mach-default/setup_arch.h
diff --git a/include/asm-x86/mach-default/smpboot_hooks.h b/arch/x86/include/asm/mach-default/smpboot_hooks.h
similarity index 100%
rename from include/asm-x86/mach-default/smpboot_hooks.h
rename to arch/x86/include/asm/mach-default/smpboot_hooks.h
diff --git a/include/asm-x86/mach-generic/gpio.h b/arch/x86/include/asm/mach-generic/gpio.h
similarity index 76%
rename from include/asm-x86/mach-generic/gpio.h
rename to arch/x86/include/asm/mach-generic/gpio.h
index 6ce0f77..995c45e 100644
--- a/include/asm-x86/mach-generic/gpio.h
+++ b/arch/x86/include/asm/mach-generic/gpio.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_GENERIC__GPIO_H
-#define ASM_X86__MACH_GENERIC__GPIO_H
+#ifndef _ASM_X86_MACH_GENERIC_GPIO_H
+#define _ASM_X86_MACH_GENERIC_GPIO_H
 
 int gpio_request(unsigned gpio, const char *label);
 void gpio_free(unsigned gpio);
@@ -12,4 +12,4 @@
 
 #include <asm-generic/gpio.h>           /* cansleep wrappers */
 
-#endif /* ASM_X86__MACH_GENERIC__GPIO_H */
+#endif /* _ASM_X86_MACH_GENERIC_GPIO_H */
diff --git a/include/asm-x86/mach-generic/mach_apic.h b/arch/x86/include/asm/mach-generic/mach_apic.h
similarity index 90%
rename from include/asm-x86/mach-generic/mach_apic.h
rename to arch/x86/include/asm/mach-generic/mach_apic.h
index 5085b52..5180bd7 100644
--- a/include/asm-x86/mach-generic/mach_apic.h
+++ b/arch/x86/include/asm/mach-generic/mach_apic.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_GENERIC__MACH_APIC_H
-#define ASM_X86__MACH_GENERIC__MACH_APIC_H
+#ifndef _ASM_X86_MACH_GENERIC_MACH_APIC_H
+#define _ASM_X86_MACH_GENERIC_MACH_APIC_H
 
 #include <asm/genapic.h>
 
@@ -30,4 +30,4 @@
 
 extern void generic_bigsmp_probe(void);
 
-#endif /* ASM_X86__MACH_GENERIC__MACH_APIC_H */
+#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
diff --git a/arch/x86/include/asm/mach-generic/mach_apicdef.h b/arch/x86/include/asm/mach-generic/mach_apicdef.h
new file mode 100644
index 0000000..68041f3
--- /dev/null
+++ b/arch/x86/include/asm/mach-generic/mach_apicdef.h
@@ -0,0 +1,11 @@
+#ifndef _ASM_X86_MACH_GENERIC_MACH_APICDEF_H
+#define _ASM_X86_MACH_GENERIC_MACH_APICDEF_H
+
+#ifndef APIC_DEFINITION
+#include <asm/genapic.h>
+
+#define GET_APIC_ID (genapic->get_apic_id)
+#define APIC_ID_MASK (genapic->apic_id_mask)
+#endif
+
+#endif /* _ASM_X86_MACH_GENERIC_MACH_APICDEF_H */
diff --git a/arch/x86/include/asm/mach-generic/mach_ipi.h b/arch/x86/include/asm/mach-generic/mach_ipi.h
new file mode 100644
index 0000000..ffd637e
--- /dev/null
+++ b/arch/x86/include/asm/mach-generic/mach_ipi.h
@@ -0,0 +1,10 @@
+#ifndef _ASM_X86_MACH_GENERIC_MACH_IPI_H
+#define _ASM_X86_MACH_GENERIC_MACH_IPI_H
+
+#include <asm/genapic.h>
+
+#define send_IPI_mask (genapic->send_IPI_mask)
+#define send_IPI_allbutself (genapic->send_IPI_allbutself)
+#define send_IPI_all (genapic->send_IPI_all)
+
+#endif /* _ASM_X86_MACH_GENERIC_MACH_IPI_H */
diff --git a/arch/x86/include/asm/mach-generic/mach_mpparse.h b/arch/x86/include/asm/mach-generic/mach_mpparse.h
new file mode 100644
index 0000000..048f1d4
--- /dev/null
+++ b/arch/x86/include/asm/mach-generic/mach_mpparse.h
@@ -0,0 +1,10 @@
+#ifndef _ASM_X86_MACH_GENERIC_MACH_MPPARSE_H
+#define _ASM_X86_MACH_GENERIC_MACH_MPPARSE_H
+
+
+extern int mps_oem_check(struct mp_config_table *mpc, char *oem,
+			 char *productid);
+
+extern int acpi_madt_oem_check(char *oem_id, char *oem_table_id);
+
+#endif /* _ASM_X86_MACH_GENERIC_MACH_MPPARSE_H */
diff --git a/include/asm-x86/mach-generic/mach_mpspec.h b/arch/x86/include/asm/mach-generic/mach_mpspec.h
similarity index 67%
rename from include/asm-x86/mach-generic/mach_mpspec.h
rename to arch/x86/include/asm/mach-generic/mach_mpspec.h
index 6061b15..bbab5cc 100644
--- a/include/asm-x86/mach-generic/mach_mpspec.h
+++ b/arch/x86/include/asm/mach-generic/mach_mpspec.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_GENERIC__MACH_MPSPEC_H
-#define ASM_X86__MACH_GENERIC__MACH_MPSPEC_H
+#ifndef _ASM_X86_MACH_GENERIC_MACH_MPSPEC_H
+#define _ASM_X86_MACH_GENERIC_MACH_MPSPEC_H
 
 #define MAX_IRQ_SOURCES 256
 
@@ -9,4 +9,4 @@
 
 extern void numaq_mps_oem_check(struct mp_config_table *mpc, char *oem,
 				char *productid);
-#endif /* ASM_X86__MACH_GENERIC__MACH_MPSPEC_H */
+#endif /* _ASM_X86_MACH_GENERIC_MACH_MPSPEC_H */
diff --git a/include/asm-x86/mach-rdc321x/gpio.h b/arch/x86/include/asm/mach-rdc321x/gpio.h
similarity index 90%
rename from include/asm-x86/mach-rdc321x/gpio.h
rename to arch/x86/include/asm/mach-rdc321x/gpio.h
index 94b6cdf..c210ab5 100644
--- a/include/asm-x86/mach-rdc321x/gpio.h
+++ b/arch/x86/include/asm/mach-rdc321x/gpio.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MACH_RDC321X__GPIO_H
-#define ASM_X86__MACH_RDC321X__GPIO_H
+#ifndef _ASM_X86_MACH_RDC321X_GPIO_H
+#define _ASM_X86_MACH_RDC321X_GPIO_H
 
 #include <linux/kernel.h>
 
@@ -57,4 +57,4 @@
 /* For cansleep */
 #include <asm-generic/gpio.h>
 
-#endif /* ASM_X86__MACH_RDC321X__GPIO_H */
+#endif /* _ASM_X86_MACH_RDC321X_GPIO_H */
diff --git a/include/asm-x86/mach-rdc321x/rdc321x_defs.h b/arch/x86/include/asm/mach-rdc321x/rdc321x_defs.h
similarity index 100%
rename from include/asm-x86/mach-rdc321x/rdc321x_defs.h
rename to arch/x86/include/asm/mach-rdc321x/rdc321x_defs.h
diff --git a/include/asm-x86/mach-voyager/do_timer.h b/arch/x86/include/asm/mach-voyager/do_timer.h
similarity index 100%
rename from include/asm-x86/mach-voyager/do_timer.h
rename to arch/x86/include/asm/mach-voyager/do_timer.h
diff --git a/include/asm-x86/mach-voyager/entry_arch.h b/arch/x86/include/asm/mach-voyager/entry_arch.h
similarity index 100%
rename from include/asm-x86/mach-voyager/entry_arch.h
rename to arch/x86/include/asm/mach-voyager/entry_arch.h
diff --git a/include/asm-x86/mach-voyager/setup_arch.h b/arch/x86/include/asm/mach-voyager/setup_arch.h
similarity index 100%
rename from include/asm-x86/mach-voyager/setup_arch.h
rename to arch/x86/include/asm/mach-voyager/setup_arch.h
diff --git a/include/asm-x86/math_emu.h b/arch/x86/include/asm/math_emu.h
similarity index 85%
rename from include/asm-x86/math_emu.h
rename to arch/x86/include/asm/math_emu.h
index 5768d8e..5a65b10 100644
--- a/include/asm-x86/math_emu.h
+++ b/arch/x86/include/asm/math_emu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MATH_EMU_H
-#define ASM_X86__MATH_EMU_H
+#ifndef _ASM_X86_MATH_EMU_H
+#define _ASM_X86_MATH_EMU_H
 
 /* This structure matches the layout of the data saved to the stack
    following a device-not-present interrupt, part of it saved
@@ -28,4 +28,4 @@
 	long ___vm86_fs;
 	long ___vm86_gs;
 };
-#endif /* ASM_X86__MATH_EMU_H */
+#endif /* _ASM_X86_MATH_EMU_H */
diff --git a/include/asm-x86/mc146818rtc.h b/arch/x86/include/asm/mc146818rtc.h
similarity index 96%
rename from include/asm-x86/mc146818rtc.h
rename to arch/x86/include/asm/mc146818rtc.h
index a995f33..01fdf56 100644
--- a/include/asm-x86/mc146818rtc.h
+++ b/arch/x86/include/asm/mc146818rtc.h
@@ -1,8 +1,8 @@
 /*
  * Machine dependent access functions for RTC registers.
  */
-#ifndef ASM_X86__MC146818RTC_H
-#define ASM_X86__MC146818RTC_H
+#ifndef _ASM_X86_MC146818RTC_H
+#define _ASM_X86_MC146818RTC_H
 
 #include <asm/io.h>
 #include <asm/system.h>
@@ -101,4 +101,4 @@
 
 #define RTC_IRQ 8
 
-#endif /* ASM_X86__MC146818RTC_H */
+#endif /* _ASM_X86_MC146818RTC_H */
diff --git a/include/asm-x86/mca.h b/arch/x86/include/asm/mca.h
similarity index 93%
rename from include/asm-x86/mca.h
rename to arch/x86/include/asm/mca.h
index 60d1ed2..eedbb6c 100644
--- a/include/asm-x86/mca.h
+++ b/arch/x86/include/asm/mca.h
@@ -1,8 +1,8 @@
 /* -*- mode: c; c-basic-offset: 8 -*- */
 
 /* Platform specific MCA defines */
-#ifndef ASM_X86__MCA_H
-#define ASM_X86__MCA_H
+#ifndef _ASM_X86_MCA_H
+#define _ASM_X86_MCA_H
 
 /* Maximal number of MCA slots - actually, some machines have less, but
  * they all have sufficient number of POS registers to cover 8.
@@ -40,4 +40,4 @@
  */
 #define MCA_NUMADAPTERS (MCA_MAX_SLOT_NR+3)
 
-#endif /* ASM_X86__MCA_H */
+#endif /* _ASM_X86_MCA_H */
diff --git a/include/asm-x86/mca_dma.h b/arch/x86/include/asm/mca_dma.h
similarity index 97%
rename from include/asm-x86/mca_dma.h
rename to arch/x86/include/asm/mca_dma.h
index 49f22be..45271ae 100644
--- a/include/asm-x86/mca_dma.h
+++ b/arch/x86/include/asm/mca_dma.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MCA_DMA_H
-#define ASM_X86__MCA_DMA_H
+#ifndef _ASM_X86_MCA_DMA_H
+#define _ASM_X86_MCA_DMA_H
 
 #include <asm/io.h>
 #include <linux/ioport.h>
@@ -198,4 +198,4 @@
 	outb(mode, MCA_DMA_REG_EXE);
 }
 
-#endif /* ASM_X86__MCA_DMA_H */
+#endif /* _ASM_X86_MCA_DMA_H */
diff --git a/include/asm-x86/mce.h b/arch/x86/include/asm/mce.h
similarity index 97%
rename from include/asm-x86/mce.h
rename to arch/x86/include/asm/mce.h
index 036133e..1d6e17c 100644
--- a/include/asm-x86/mce.h
+++ b/arch/x86/include/asm/mce.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MCE_H
-#define ASM_X86__MCE_H
+#ifndef _ASM_X86_MCE_H
+#define _ASM_X86_MCE_H
 
 #ifdef __x86_64__
 
@@ -127,4 +127,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__MCE_H */
+#endif /* _ASM_X86_MCE_H */
diff --git a/include/asm-x86/microcode.h b/arch/x86/include/asm/microcode.h
similarity index 90%
rename from include/asm-x86/microcode.h
rename to arch/x86/include/asm/microcode.h
index 62c793b..c882664 100644
--- a/include/asm-x86/microcode.h
+++ b/arch/x86/include/asm/microcode.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MICROCODE_H
-#define ASM_X86__MICROCODE_H
+#ifndef _ASM_X86_MICROCODE_H
+#define _ASM_X86_MICROCODE_H
 
 struct cpu_signature {
 	unsigned int sig;
@@ -44,4 +44,4 @@
 }
 #endif
 
-#endif /* ASM_X86__MICROCODE_H */
+#endif /* _ASM_X86_MICROCODE_H */
diff --git a/include/asm-x86/mman.h b/arch/x86/include/asm/mman.h
similarity index 89%
rename from include/asm-x86/mman.h
rename to arch/x86/include/asm/mman.h
index 4ef28e6..90bc410 100644
--- a/include/asm-x86/mman.h
+++ b/arch/x86/include/asm/mman.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMAN_H
-#define ASM_X86__MMAN_H
+#ifndef _ASM_X86_MMAN_H
+#define _ASM_X86_MMAN_H
 
 #include <asm-generic/mman.h>
 
@@ -17,4 +17,4 @@
 #define MCL_CURRENT	1		/* lock all current mappings */
 #define MCL_FUTURE	2		/* lock all future mappings */
 
-#endif /* ASM_X86__MMAN_H */
+#endif /* _ASM_X86_MMAN_H */
diff --git a/include/asm-x86/mmconfig.h b/arch/x86/include/asm/mmconfig.h
similarity index 74%
rename from include/asm-x86/mmconfig.h
rename to arch/x86/include/asm/mmconfig.h
index fb79b1c..9b119da 100644
--- a/include/asm-x86/mmconfig.h
+++ b/arch/x86/include/asm/mmconfig.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMCONFIG_H
-#define ASM_X86__MMCONFIG_H
+#ifndef _ASM_X86_MMCONFIG_H
+#define _ASM_X86_MMCONFIG_H
 
 #ifdef CONFIG_PCI_MMCONFIG
 extern void __cpuinit fam10h_check_enable_mmcfg(void);
@@ -9,4 +9,4 @@
 static inline void check_enable_amd_mmconf_dmi(void) { }
 #endif
 
-#endif /* ASM_X86__MMCONFIG_H */
+#endif /* _ASM_X86_MMCONFIG_H */
diff --git a/include/asm-x86/mmu.h b/arch/x86/include/asm/mmu.h
similarity index 81%
rename from include/asm-x86/mmu.h
rename to arch/x86/include/asm/mmu.h
index 9d5aff1..80a1dee 100644
--- a/include/asm-x86/mmu.h
+++ b/arch/x86/include/asm/mmu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMU_H
-#define ASM_X86__MMU_H
+#ifndef _ASM_X86_MMU_H
+#define _ASM_X86_MMU_H
 
 #include <linux/spinlock.h>
 #include <linux/mutex.h>
@@ -23,4 +23,4 @@
 }
 #endif
 
-#endif /* ASM_X86__MMU_H */
+#endif /* _ASM_X86_MMU_H */
diff --git a/include/asm-x86/mmu_context.h b/arch/x86/include/asm/mmu_context.h
similarity index 87%
rename from include/asm-x86/mmu_context.h
rename to arch/x86/include/asm/mmu_context.h
index 8ec940b..8aeeb3f 100644
--- a/include/asm-x86/mmu_context.h
+++ b/arch/x86/include/asm/mmu_context.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMU_CONTEXT_H
-#define ASM_X86__MMU_CONTEXT_H
+#ifndef _ASM_X86_MMU_CONTEXT_H
+#define _ASM_X86_MMU_CONTEXT_H
 
 #include <asm/desc.h>
 #include <asm/atomic.h>
@@ -34,4 +34,4 @@
 } while (0);
 
 
-#endif /* ASM_X86__MMU_CONTEXT_H */
+#endif /* _ASM_X86_MMU_CONTEXT_H */
diff --git a/include/asm-x86/mmu_context_32.h b/arch/x86/include/asm/mmu_context_32.h
similarity index 92%
rename from include/asm-x86/mmu_context_32.h
rename to arch/x86/include/asm/mmu_context_32.h
index cce6f6e..8e10015 100644
--- a/include/asm-x86/mmu_context_32.h
+++ b/arch/x86/include/asm/mmu_context_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMU_CONTEXT_32_H
-#define ASM_X86__MMU_CONTEXT_32_H
+#ifndef _ASM_X86_MMU_CONTEXT_32_H
+#define _ASM_X86_MMU_CONTEXT_32_H
 
 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
 {
@@ -53,4 +53,4 @@
 #define deactivate_mm(tsk, mm)			\
 	asm("movl %0,%%gs": :"r" (0));
 
-#endif /* ASM_X86__MMU_CONTEXT_32_H */
+#endif /* _ASM_X86_MMU_CONTEXT_32_H */
diff --git a/include/asm-x86/mmu_context_64.h b/arch/x86/include/asm/mmu_context_64.h
similarity index 91%
rename from include/asm-x86/mmu_context_64.h
rename to arch/x86/include/asm/mmu_context_64.h
index 2675867..677d36e 100644
--- a/include/asm-x86/mmu_context_64.h
+++ b/arch/x86/include/asm/mmu_context_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMU_CONTEXT_64_H
-#define ASM_X86__MMU_CONTEXT_64_H
+#ifndef _ASM_X86_MMU_CONTEXT_64_H
+#define _ASM_X86_MMU_CONTEXT_64_H
 
 #include <asm/pda.h>
 
@@ -51,4 +51,4 @@
 	asm volatile("movl %0,%%fs"::"r"(0));	\
 } while (0)
 
-#endif /* ASM_X86__MMU_CONTEXT_64_H */
+#endif /* _ASM_X86_MMU_CONTEXT_64_H */
diff --git a/include/asm-x86/mmx.h b/arch/x86/include/asm/mmx.h
similarity index 74%
rename from include/asm-x86/mmx.h
rename to arch/x86/include/asm/mmx.h
index 2e7299b..5cbf313 100644
--- a/include/asm-x86/mmx.h
+++ b/arch/x86/include/asm/mmx.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MMX_H
-#define ASM_X86__MMX_H
+#ifndef _ASM_X86_MMX_H
+#define _ASM_X86_MMX_H
 
 /*
  *	MMX 3Dnow! helper operations
@@ -11,4 +11,4 @@
 extern void mmx_clear_page(void *page);
 extern void mmx_copy_page(void *to, void *from);
 
-#endif /* ASM_X86__MMX_H */
+#endif /* _ASM_X86_MMX_H */
diff --git a/include/asm-x86/mmzone.h b/arch/x86/include/asm/mmzone.h
similarity index 100%
rename from include/asm-x86/mmzone.h
rename to arch/x86/include/asm/mmzone.h
diff --git a/include/asm-x86/mmzone_32.h b/arch/x86/include/asm/mmzone_32.h
similarity index 96%
rename from include/asm-x86/mmzone_32.h
rename to arch/x86/include/asm/mmzone_32.h
index 121b65d..485bdf0 100644
--- a/include/asm-x86/mmzone_32.h
+++ b/arch/x86/include/asm/mmzone_32.h
@@ -3,8 +3,8 @@
  *
  */
 
-#ifndef ASM_X86__MMZONE_32_H
-#define ASM_X86__MMZONE_32_H
+#ifndef _ASM_X86_MMZONE_32_H
+#define _ASM_X86_MMZONE_32_H
 
 #include <asm/smp.h>
 
@@ -131,4 +131,4 @@
 })
 #endif /* CONFIG_NEED_MULTIPLE_NODES */
 
-#endif /* ASM_X86__MMZONE_32_H */
+#endif /* _ASM_X86_MMZONE_32_H */
diff --git a/include/asm-x86/mmzone_64.h b/arch/x86/include/asm/mmzone_64.h
similarity index 92%
rename from include/asm-x86/mmzone_64.h
rename to arch/x86/include/asm/mmzone_64.h
index 6480f33..a5b3817 100644
--- a/include/asm-x86/mmzone_64.h
+++ b/arch/x86/include/asm/mmzone_64.h
@@ -1,8 +1,8 @@
 /* K8 NUMA support */
 /* Copyright 2002,2003 by Andi Kleen, SuSE Labs */
 /* 2.5 Version loosely based on the NUMAQ Code by Pat Gaughen. */
-#ifndef ASM_X86__MMZONE_64_H
-#define ASM_X86__MMZONE_64_H
+#ifndef _ASM_X86_MMZONE_64_H
+#define _ASM_X86_MMZONE_64_H
 
 
 #ifdef CONFIG_NUMA
@@ -48,4 +48,4 @@
 #endif
 
 #endif
-#endif /* ASM_X86__MMZONE_64_H */
+#endif /* _ASM_X86_MMZONE_64_H */
diff --git a/include/asm-x86/module.h b/arch/x86/include/asm/module.h
similarity index 95%
rename from include/asm-x86/module.h
rename to arch/x86/include/asm/module.h
index 864f200..47d6274 100644
--- a/include/asm-x86/module.h
+++ b/arch/x86/include/asm/module.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MODULE_H
-#define ASM_X86__MODULE_H
+#ifndef _ASM_X86_MODULE_H
+#define _ASM_X86_MODULE_H
 
 /* x86_32/64 are simple */
 struct mod_arch_specific {};
@@ -77,4 +77,4 @@
 # define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE
 #endif
 
-#endif /* ASM_X86__MODULE_H */
+#endif /* _ASM_X86_MODULE_H */
diff --git a/include/asm-x86/mpspec.h b/arch/x86/include/asm/mpspec.h
similarity index 97%
rename from include/asm-x86/mpspec.h
rename to arch/x86/include/asm/mpspec.h
index be2241a..91885c2 100644
--- a/include/asm-x86/mpspec.h
+++ b/arch/x86/include/asm/mpspec.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MPSPEC_H
-#define ASM_X86__MPSPEC_H
+#ifndef _ASM_X86_MPSPEC_H
+#define _ASM_X86_MPSPEC_H
 
 #include <linux/init.h>
 
@@ -142,4 +142,4 @@
 
 extern physid_mask_t phys_cpu_present_map;
 
-#endif /* ASM_X86__MPSPEC_H */
+#endif /* _ASM_X86_MPSPEC_H */
diff --git a/include/asm-x86/mpspec_def.h b/arch/x86/include/asm/mpspec_def.h
similarity index 97%
rename from include/asm-x86/mpspec_def.h
rename to arch/x86/include/asm/mpspec_def.h
index 79166b0..e3ace7d 100644
--- a/include/asm-x86/mpspec_def.h
+++ b/arch/x86/include/asm/mpspec_def.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MPSPEC_DEF_H
-#define ASM_X86__MPSPEC_DEF_H
+#ifndef _ASM_X86_MPSPEC_DEF_H
+#define _ASM_X86_MPSPEC_DEF_H
 
 /*
  * Structure definitions for SMP machines following the
@@ -177,4 +177,4 @@
 	MP_BUS_PCI,
 	MP_BUS_MCA,
 };
-#endif /* ASM_X86__MPSPEC_DEF_H */
+#endif /* _ASM_X86_MPSPEC_DEF_H */
diff --git a/include/asm-x86/msgbuf.h b/arch/x86/include/asm/msgbuf.h
similarity index 92%
rename from include/asm-x86/msgbuf.h
rename to arch/x86/include/asm/msgbuf.h
index 1b538c9..7e4e948 100644
--- a/include/asm-x86/msgbuf.h
+++ b/arch/x86/include/asm/msgbuf.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MSGBUF_H
-#define ASM_X86__MSGBUF_H
+#ifndef _ASM_X86_MSGBUF_H
+#define _ASM_X86_MSGBUF_H
 
 /*
  * The msqid64_ds structure for i386 architecture.
@@ -36,4 +36,4 @@
 	unsigned long  __unused5;
 };
 
-#endif /* ASM_X86__MSGBUF_H */
+#endif /* _ASM_X86_MSGBUF_H */
diff --git a/include/asm-x86/msidef.h b/arch/x86/include/asm/msidef.h
similarity index 94%
rename from include/asm-x86/msidef.h
rename to arch/x86/include/asm/msidef.h
index ed91902..6706b30 100644
--- a/include/asm-x86/msidef.h
+++ b/arch/x86/include/asm/msidef.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MSIDEF_H
-#define ASM_X86__MSIDEF_H
+#ifndef _ASM_X86_MSIDEF_H
+#define _ASM_X86_MSIDEF_H
 
 /*
  * Constants for Intel APIC based MSI messages.
@@ -52,4 +52,4 @@
 #define MSI_ADDR_IR_SHV			(1 << 3)
 #define MSI_ADDR_IR_INDEX1(index)	((index & 0x8000) >> 13)
 #define MSI_ADDR_IR_INDEX2(index)	((index & 0x7fff) << 5)
-#endif /* ASM_X86__MSIDEF_H */
+#endif /* _ASM_X86_MSIDEF_H */
diff --git a/include/asm-x86/msr-index.h b/arch/x86/include/asm/msr-index.h
similarity index 98%
rename from include/asm-x86/msr-index.h
rename to arch/x86/include/asm/msr-index.h
index dabd10f..e38859d 100644
--- a/include/asm-x86/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MSR_INDEX_H
-#define ASM_X86__MSR_INDEX_H
+#ifndef _ASM_X86_MSR_INDEX_H
+#define _ASM_X86_MSR_INDEX_H
 
 /* CPU model specific register (MSR) numbers */
 
@@ -329,4 +329,4 @@
 #define MSR_IA32_VMX_PROCBASED_CTLS2    0x0000048b
 #define MSR_IA32_VMX_EPT_VPID_CAP       0x0000048c
 
-#endif /* ASM_X86__MSR_INDEX_H */
+#endif /* _ASM_X86_MSR_INDEX_H */
diff --git a/include/asm-x86/msr.h b/arch/x86/include/asm/msr.h
similarity index 98%
rename from include/asm-x86/msr.h
rename to arch/x86/include/asm/msr.h
index 530af1f..46be2fa 100644
--- a/include/asm-x86/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__MSR_H
-#define ASM_X86__MSR_H
+#ifndef _ASM_X86_MSR_H
+#define _ASM_X86_MSR_H
 
 #include <asm/msr-index.h>
 
@@ -244,4 +244,4 @@
 #endif /* __KERNEL__ */
 
 
-#endif /* ASM_X86__MSR_H */
+#endif /* _ASM_X86_MSR_H */
diff --git a/include/asm-x86/mtrr.h b/arch/x86/include/asm/mtrr.h
similarity index 98%
rename from include/asm-x86/mtrr.h
rename to arch/x86/include/asm/mtrr.h
index 23a7f83..7c1e425 100644
--- a/include/asm-x86/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -20,8 +20,8 @@
     The postal address is:
       Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia.
 */
-#ifndef ASM_X86__MTRR_H
-#define ASM_X86__MTRR_H
+#ifndef _ASM_X86_MTRR_H
+#define _ASM_X86_MTRR_H
 
 #include <linux/ioctl.h>
 #include <linux/errno.h>
@@ -170,4 +170,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__MTRR_H */
+#endif /* _ASM_X86_MTRR_H */
diff --git a/include/asm-x86/mutex.h b/arch/x86/include/asm/mutex.h
similarity index 100%
rename from include/asm-x86/mutex.h
rename to arch/x86/include/asm/mutex.h
diff --git a/include/asm-x86/mutex_32.h b/arch/x86/include/asm/mutex_32.h
similarity index 97%
rename from include/asm-x86/mutex_32.h
rename to arch/x86/include/asm/mutex_32.h
index 25c16d8..03f90c8 100644
--- a/include/asm-x86/mutex_32.h
+++ b/arch/x86/include/asm/mutex_32.h
@@ -6,8 +6,8 @@
  *
  *  Copyright (C) 2004, 2005, 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
  */
-#ifndef ASM_X86__MUTEX_32_H
-#define ASM_X86__MUTEX_32_H
+#ifndef _ASM_X86_MUTEX_32_H
+#define _ASM_X86_MUTEX_32_H
 
 #include <asm/alternative.h>
 
@@ -122,4 +122,4 @@
 #endif
 }
 
-#endif /* ASM_X86__MUTEX_32_H */
+#endif /* _ASM_X86_MUTEX_32_H */
diff --git a/include/asm-x86/mutex_64.h b/arch/x86/include/asm/mutex_64.h
similarity index 96%
rename from include/asm-x86/mutex_64.h
rename to arch/x86/include/asm/mutex_64.h
index 918ba21..68a87b0 100644
--- a/include/asm-x86/mutex_64.h
+++ b/arch/x86/include/asm/mutex_64.h
@@ -6,8 +6,8 @@
  *
  *  Copyright (C) 2004, 2005, 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
  */
-#ifndef ASM_X86__MUTEX_64_H
-#define ASM_X86__MUTEX_64_H
+#ifndef _ASM_X86_MUTEX_64_H
+#define _ASM_X86_MUTEX_64_H
 
 /**
  * __mutex_fastpath_lock - decrement and call function if negative
@@ -97,4 +97,4 @@
 		return 0;
 }
 
-#endif /* ASM_X86__MUTEX_64_H */
+#endif /* _ASM_X86_MUTEX_64_H */
diff --git a/include/asm-x86/nmi.h b/arch/x86/include/asm/nmi.h
similarity index 96%
rename from include/asm-x86/nmi.h
rename to arch/x86/include/asm/nmi.h
index a53f829..c45a0a5 100644
--- a/include/asm-x86/nmi.h
+++ b/arch/x86/include/asm/nmi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__NMI_H
-#define ASM_X86__NMI_H
+#ifndef _ASM_X86_NMI_H
+#define _ASM_X86_NMI_H
 
 #include <linux/pm.h>
 #include <asm/irq.h>
@@ -78,4 +78,4 @@
 void stop_nmi(void);
 void restart_nmi(void);
 
-#endif /* ASM_X86__NMI_H */
+#endif /* _ASM_X86_NMI_H */
diff --git a/include/asm-x86/nops.h b/arch/x86/include/asm/nops.h
similarity index 97%
rename from include/asm-x86/nops.h
rename to arch/x86/include/asm/nops.h
index ae74272..ad2668e 100644
--- a/include/asm-x86/nops.h
+++ b/arch/x86/include/asm/nops.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__NOPS_H
-#define ASM_X86__NOPS_H
+#ifndef _ASM_X86_NOPS_H
+#define _ASM_X86_NOPS_H
 
 /* Define nops for use with alternative() */
 
@@ -115,4 +115,4 @@
 
 #define ASM_NOP_MAX 8
 
-#endif /* ASM_X86__NOPS_H */
+#endif /* _ASM_X86_NOPS_H */
diff --git a/include/asm-x86/numa.h b/arch/x86/include/asm/numa.h
similarity index 100%
rename from include/asm-x86/numa.h
rename to arch/x86/include/asm/numa.h
diff --git a/include/asm-x86/numa_32.h b/arch/x86/include/asm/numa_32.h
similarity index 61%
rename from include/asm-x86/numa_32.h
rename to arch/x86/include/asm/numa_32.h
index 44cb078..e9f5db7 100644
--- a/include/asm-x86/numa_32.h
+++ b/arch/x86/include/asm/numa_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__NUMA_32_H
-#define ASM_X86__NUMA_32_H
+#ifndef _ASM_X86_NUMA_32_H
+#define _ASM_X86_NUMA_32_H
 
 extern int pxm_to_nid(int pxm);
 extern void numa_remove_cpu(int cpu);
@@ -8,4 +8,4 @@
 extern void set_highmem_pages_init(void);
 #endif
 
-#endif /* ASM_X86__NUMA_32_H */
+#endif /* _ASM_X86_NUMA_32_H */
diff --git a/include/asm-x86/numa_64.h b/arch/x86/include/asm/numa_64.h
similarity index 92%
rename from include/asm-x86/numa_64.h
rename to arch/x86/include/asm/numa_64.h
index 15c9903..064ed6d 100644
--- a/include/asm-x86/numa_64.h
+++ b/arch/x86/include/asm/numa_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__NUMA_64_H
-#define ASM_X86__NUMA_64_H
+#ifndef _ASM_X86_NUMA_64_H
+#define _ASM_X86_NUMA_64_H
 
 #include <linux/nodemask.h>
 #include <asm/apicdef.h>
@@ -40,4 +40,4 @@
 static inline void numa_remove_cpu(int cpu)		{ }
 #endif
 
-#endif /* ASM_X86__NUMA_64_H */
+#endif /* _ASM_X86_NUMA_64_H */
diff --git a/include/asm-x86/numaq.h b/arch/x86/include/asm/numaq.h
similarity index 98%
rename from include/asm-x86/numaq.h
rename to arch/x86/include/asm/numaq.h
index 124bf7d..1e8bd30 100644
--- a/include/asm-x86/numaq.h
+++ b/arch/x86/include/asm/numaq.h
@@ -23,8 +23,8 @@
  * Send feedback to <gone@us.ibm.com>
  */
 
-#ifndef ASM_X86__NUMAQ_H
-#define ASM_X86__NUMAQ_H
+#ifndef _ASM_X86_NUMAQ_H
+#define _ASM_X86_NUMAQ_H
 
 #ifdef CONFIG_X86_NUMAQ
 
@@ -165,5 +165,5 @@
 	return 0;
 }
 #endif /* CONFIG_X86_NUMAQ */
-#endif /* ASM_X86__NUMAQ_H */
+#endif /* _ASM_X86_NUMAQ_H */
 
diff --git a/include/asm-x86/numaq/apic.h b/arch/x86/include/asm/numaq/apic.h
similarity index 100%
rename from include/asm-x86/numaq/apic.h
rename to arch/x86/include/asm/numaq/apic.h
diff --git a/include/asm-x86/numaq/apicdef.h b/arch/x86/include/asm/numaq/apicdef.h
similarity index 100%
rename from include/asm-x86/numaq/apicdef.h
rename to arch/x86/include/asm/numaq/apicdef.h
diff --git a/include/asm-x86/numaq/ipi.h b/arch/x86/include/asm/numaq/ipi.h
similarity index 100%
rename from include/asm-x86/numaq/ipi.h
rename to arch/x86/include/asm/numaq/ipi.h
diff --git a/include/asm-x86/numaq/mpparse.h b/arch/x86/include/asm/numaq/mpparse.h
similarity index 100%
rename from include/asm-x86/numaq/mpparse.h
rename to arch/x86/include/asm/numaq/mpparse.h
diff --git a/include/asm-x86/numaq/wakecpu.h b/arch/x86/include/asm/numaq/wakecpu.h
similarity index 100%
rename from include/asm-x86/numaq/wakecpu.h
rename to arch/x86/include/asm/numaq/wakecpu.h
diff --git a/include/asm-x86/olpc.h b/arch/x86/include/asm/olpc.h
similarity index 97%
rename from include/asm-x86/olpc.h
rename to arch/x86/include/asm/olpc.h
index d7328b1..834a302 100644
--- a/include/asm-x86/olpc.h
+++ b/arch/x86/include/asm/olpc.h
@@ -1,7 +1,7 @@
 /* OLPC machine specific definitions */
 
-#ifndef ASM_X86__OLPC_H
-#define ASM_X86__OLPC_H
+#ifndef _ASM_X86_OLPC_H
+#define _ASM_X86_OLPC_H
 
 #include <asm/geode.h>
 
@@ -129,4 +129,4 @@
 #define OLPC_GPIO_LID		geode_gpio(26)
 #define OLPC_GPIO_ECSCI		geode_gpio(27)
 
-#endif /* ASM_X86__OLPC_H */
+#endif /* _ASM_X86_OLPC_H */
diff --git a/include/asm-x86/page.h b/arch/x86/include/asm/page.h
similarity index 98%
rename from include/asm-x86/page.h
rename to arch/x86/include/asm/page.h
index d4f1d57..e9873a2 100644
--- a/include/asm-x86/page.h
+++ b/arch/x86/include/asm/page.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PAGE_H
-#define ASM_X86__PAGE_H
+#ifndef _ASM_X86_PAGE_H
+#define _ASM_X86_PAGE_H
 
 #include <linux/const.h>
 
@@ -206,4 +206,4 @@
 #define __HAVE_ARCH_GATE_AREA 1
 
 #endif	/* __KERNEL__ */
-#endif /* ASM_X86__PAGE_H */
+#endif /* _ASM_X86_PAGE_H */
diff --git a/include/asm-x86/page_32.h b/arch/x86/include/asm/page_32.h
similarity index 96%
rename from include/asm-x86/page_32.h
rename to arch/x86/include/asm/page_32.h
index bdf5dba..bcde0d7 100644
--- a/include/asm-x86/page_32.h
+++ b/arch/x86/include/asm/page_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PAGE_32_H
-#define ASM_X86__PAGE_32_H
+#ifndef _ASM_X86_PAGE_32_H
+#define _ASM_X86_PAGE_32_H
 
 /*
  * This handles the memory map.
@@ -133,4 +133,4 @@
 #endif	/* CONFIG_X86_3DNOW */
 #endif	/* !__ASSEMBLY__ */
 
-#endif /* ASM_X86__PAGE_32_H */
+#endif /* _ASM_X86_PAGE_32_H */
diff --git a/include/asm-x86/page_64.h b/arch/x86/include/asm/page_64.h
similarity index 96%
rename from include/asm-x86/page_64.h
rename to arch/x86/include/asm/page_64.h
index 49380b8..5ebca29 100644
--- a/include/asm-x86/page_64.h
+++ b/arch/x86/include/asm/page_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PAGE_64_H
-#define ASM_X86__PAGE_64_H
+#ifndef _ASM_X86_PAGE_64_H
+#define _ASM_X86_PAGE_64_H
 
 #define PAGETABLE_LEVELS	4
 
@@ -102,4 +102,4 @@
 #endif
 
 
-#endif /* ASM_X86__PAGE_64_H */
+#endif /* _ASM_X86_PAGE_64_H */
diff --git a/include/asm-x86/param.h b/arch/x86/include/asm/param.h
similarity index 82%
rename from include/asm-x86/param.h
rename to arch/x86/include/asm/param.h
index 0009cfb..6f0d042 100644
--- a/include/asm-x86/param.h
+++ b/arch/x86/include/asm/param.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PARAM_H
-#define ASM_X86__PARAM_H
+#ifndef _ASM_X86_PARAM_H
+#define _ASM_X86_PARAM_H
 
 #ifdef __KERNEL__
 # define HZ		CONFIG_HZ	/* Internal kernel timer frequency */
@@ -19,4 +19,4 @@
 
 #define MAXHOSTNAMELEN	64	/* max length of hostname */
 
-#endif /* ASM_X86__PARAM_H */
+#endif /* _ASM_X86_PARAM_H */
diff --git a/include/asm-x86/paravirt.h b/arch/x86/include/asm/paravirt.h
similarity index 99%
rename from include/asm-x86/paravirt.h
rename to arch/x86/include/asm/paravirt.h
index 8d6ae2f..ba3e2ff 100644
--- a/include/asm-x86/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PARAVIRT_H
-#define ASM_X86__PARAVIRT_H
+#ifndef _ASM_X86_PARAVIRT_H
+#define _ASM_X86_PARAVIRT_H
 /* Various instructions on x86 need to be replaced for
  * para-virtualization: those hooks are defined here. */
 
@@ -1647,4 +1647,4 @@
 
 #endif /* __ASSEMBLY__ */
 #endif /* CONFIG_PARAVIRT */
-#endif /* ASM_X86__PARAVIRT_H */
+#endif /* _ASM_X86_PARAVIRT_H */
diff --git a/include/asm-x86/parport.h b/arch/x86/include/asm/parport.h
similarity index 70%
rename from include/asm-x86/parport.h
rename to arch/x86/include/asm/parport.h
index 2e3dda4..3c4ffeb 100644
--- a/include/asm-x86/parport.h
+++ b/arch/x86/include/asm/parport.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PARPORT_H
-#define ASM_X86__PARPORT_H
+#ifndef _ASM_X86_PARPORT_H
+#define _ASM_X86_PARPORT_H
 
 static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma);
 static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma)
@@ -7,4 +7,4 @@
 	return parport_pc_find_isa_ports(autoirq, autodma);
 }
 
-#endif /* ASM_X86__PARPORT_H */
+#endif /* _ASM_X86_PARPORT_H */
diff --git a/include/asm-x86/pat.h b/arch/x86/include/asm/pat.h
similarity index 85%
rename from include/asm-x86/pat.h
rename to arch/x86/include/asm/pat.h
index 482c3e3..b8493b3 100644
--- a/include/asm-x86/pat.h
+++ b/arch/x86/include/asm/pat.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PAT_H
-#define ASM_X86__PAT_H
+#ifndef _ASM_X86_PAT_H
+#define _ASM_X86_PAT_H
 
 #include <linux/types.h>
 
@@ -19,4 +19,4 @@
 
 extern void pat_disable(char *reason);
 
-#endif /* ASM_X86__PAT_H */
+#endif /* _ASM_X86_PAT_H */
diff --git a/include/asm-x86/pci-direct.h b/arch/x86/include/asm/pci-direct.h
similarity index 88%
rename from include/asm-x86/pci-direct.h
rename to arch/x86/include/asm/pci-direct.h
index da42be0..b1e7a45 100644
--- a/include/asm-x86/pci-direct.h
+++ b/arch/x86/include/asm/pci-direct.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PCI_DIRECT_H
-#define ASM_X86__PCI_DIRECT_H
+#ifndef _ASM_X86_PCI_DIRECT_H
+#define _ASM_X86_PCI_DIRECT_H
 
 #include <linux/types.h>
 
@@ -18,4 +18,4 @@
 extern unsigned int pci_early_dump_regs;
 extern void early_dump_pci_device(u8 bus, u8 slot, u8 func);
 extern void early_dump_pci_devices(void);
-#endif /* ASM_X86__PCI_DIRECT_H */
+#endif /* _ASM_X86_PCI_DIRECT_H */
diff --git a/include/asm-x86/pci.h b/arch/x86/include/asm/pci.h
similarity index 96%
rename from include/asm-x86/pci.h
rename to arch/x86/include/asm/pci.h
index 6025831..875b38e 100644
--- a/include/asm-x86/pci.h
+++ b/arch/x86/include/asm/pci.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PCI_H
-#define ASM_X86__PCI_H
+#ifndef _ASM_X86_PCI_H
+#define _ASM_X86_PCI_H
 
 #include <linux/mm.h> /* for struct page */
 #include <linux/types.h>
@@ -111,4 +111,4 @@
 }
 #endif
 
-#endif /* ASM_X86__PCI_H */
+#endif /* _ASM_X86_PCI_H */
diff --git a/include/asm-x86/pci_32.h b/arch/x86/include/asm/pci_32.h
similarity index 90%
rename from include/asm-x86/pci_32.h
rename to arch/x86/include/asm/pci_32.h
index 3f22882..6f1213a 100644
--- a/include/asm-x86/pci_32.h
+++ b/arch/x86/include/asm/pci_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PCI_32_H
-#define ASM_X86__PCI_32_H
+#ifndef _ASM_X86_PCI_32_H
+#define _ASM_X86_PCI_32_H
 
 
 #ifdef __KERNEL__
@@ -31,4 +31,4 @@
 #endif /* __KERNEL__ */
 
 
-#endif /* ASM_X86__PCI_32_H */
+#endif /* _ASM_X86_PCI_32_H */
diff --git a/include/asm-x86/pci_64.h b/arch/x86/include/asm/pci_64.h
similarity index 95%
rename from include/asm-x86/pci_64.h
rename to arch/x86/include/asm/pci_64.h
index f72e12d..5b28995 100644
--- a/include/asm-x86/pci_64.h
+++ b/arch/x86/include/asm/pci_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PCI_64_H
-#define ASM_X86__PCI_64_H
+#ifndef _ASM_X86_PCI_64_H
+#define _ASM_X86_PCI_64_H
 
 #ifdef __KERNEL__
 
@@ -63,4 +63,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__PCI_64_H */
+#endif /* _ASM_X86_PCI_64_H */
diff --git a/include/asm-x86/pda.h b/arch/x86/include/asm/pda.h
similarity index 97%
rename from include/asm-x86/pda.h
rename to arch/x86/include/asm/pda.h
index 80860af..2fbfff8 100644
--- a/include/asm-x86/pda.h
+++ b/arch/x86/include/asm/pda.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PDA_H
-#define ASM_X86__PDA_H
+#ifndef _ASM_X86_PDA_H
+#define _ASM_X86_PDA_H
 
 #ifndef __ASSEMBLY__
 #include <linux/stddef.h>
@@ -134,4 +134,4 @@
 
 #define PDA_STACKOFFSET (5*8)
 
-#endif /* ASM_X86__PDA_H */
+#endif /* _ASM_X86_PDA_H */
diff --git a/include/asm-x86/percpu.h b/arch/x86/include/asm/percpu.h
similarity index 98%
rename from include/asm-x86/percpu.h
rename to arch/x86/include/asm/percpu.h
index e10a1d0..ece7205 100644
--- a/include/asm-x86/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PERCPU_H
-#define ASM_X86__PERCPU_H
+#ifndef _ASM_X86_PERCPU_H
+#define _ASM_X86_PERCPU_H
 
 #ifdef CONFIG_X86_64
 #include <linux/compiler.h>
@@ -215,4 +215,4 @@
 
 #endif	/* !CONFIG_SMP */
 
-#endif /* ASM_X86__PERCPU_H */
+#endif /* _ASM_X86_PERCPU_H */
diff --git a/include/asm-x86/pgalloc.h b/arch/x86/include/asm/pgalloc.h
similarity index 97%
rename from include/asm-x86/pgalloc.h
rename to arch/x86/include/asm/pgalloc.h
index 3cd23ad..cb7c151 100644
--- a/include/asm-x86/pgalloc.h
+++ b/arch/x86/include/asm/pgalloc.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGALLOC_H
-#define ASM_X86__PGALLOC_H
+#ifndef _ASM_X86_PGALLOC_H
+#define _ASM_X86_PGALLOC_H
 
 #include <linux/threads.h>
 #include <linux/mm.h>		/* for struct page */
@@ -111,4 +111,4 @@
 #endif	/* PAGETABLE_LEVELS > 3 */
 #endif	/* PAGETABLE_LEVELS > 2 */
 
-#endif /* ASM_X86__PGALLOC_H */
+#endif /* _ASM_X86_PGALLOC_H */
diff --git a/include/asm-x86/pgtable-2level-defs.h b/arch/x86/include/asm/pgtable-2level-defs.h
similarity index 67%
rename from include/asm-x86/pgtable-2level-defs.h
rename to arch/x86/include/asm/pgtable-2level-defs.h
index 7ec48f4..d77db89 100644
--- a/include/asm-x86/pgtable-2level-defs.h
+++ b/arch/x86/include/asm/pgtable-2level-defs.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_2LEVEL_DEFS_H
-#define ASM_X86__PGTABLE_2LEVEL_DEFS_H
+#ifndef _ASM_X86_PGTABLE_2LEVEL_DEFS_H
+#define _ASM_X86_PGTABLE_2LEVEL_DEFS_H
 
 #define SHARED_KERNEL_PMD	0
 
@@ -17,4 +17,4 @@
 
 #define PTRS_PER_PTE	1024
 
-#endif /* ASM_X86__PGTABLE_2LEVEL_DEFS_H */
+#endif /* _ASM_X86_PGTABLE_2LEVEL_DEFS_H */
diff --git a/include/asm-x86/pgtable-2level.h b/arch/x86/include/asm/pgtable-2level.h
similarity index 94%
rename from include/asm-x86/pgtable-2level.h
rename to arch/x86/include/asm/pgtable-2level.h
index 8176208..b17edfd 100644
--- a/include/asm-x86/pgtable-2level.h
+++ b/arch/x86/include/asm/pgtable-2level.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_2LEVEL_H
-#define ASM_X86__PGTABLE_2LEVEL_H
+#ifndef _ASM_X86_PGTABLE_2LEVEL_H
+#define _ASM_X86_PGTABLE_2LEVEL_H
 
 #define pte_ERROR(e) \
 	printk("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, (e).pte_low)
@@ -76,4 +76,4 @@
 #define __pte_to_swp_entry(pte)		((swp_entry_t) { (pte).pte_low })
 #define __swp_entry_to_pte(x)		((pte_t) { .pte = (x).val })
 
-#endif /* ASM_X86__PGTABLE_2LEVEL_H */
+#endif /* _ASM_X86_PGTABLE_2LEVEL_H */
diff --git a/include/asm-x86/pgtable-3level-defs.h b/arch/x86/include/asm/pgtable-3level-defs.h
similarity index 78%
rename from include/asm-x86/pgtable-3level-defs.h
rename to arch/x86/include/asm/pgtable-3level-defs.h
index c05fe6f..6256136 100644
--- a/include/asm-x86/pgtable-3level-defs.h
+++ b/arch/x86/include/asm/pgtable-3level-defs.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_3LEVEL_DEFS_H
-#define ASM_X86__PGTABLE_3LEVEL_DEFS_H
+#ifndef _ASM_X86_PGTABLE_3LEVEL_DEFS_H
+#define _ASM_X86_PGTABLE_3LEVEL_DEFS_H
 
 #ifdef CONFIG_PARAVIRT
 #define SHARED_KERNEL_PMD	(pv_info.shared_kernel_pmd)
@@ -25,4 +25,4 @@
  */
 #define PTRS_PER_PTE	512
 
-#endif /* ASM_X86__PGTABLE_3LEVEL_DEFS_H */
+#endif /* _ASM_X86_PGTABLE_3LEVEL_DEFS_H */
diff --git a/include/asm-x86/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h
similarity index 97%
rename from include/asm-x86/pgtable-3level.h
rename to arch/x86/include/asm/pgtable-3level.h
index 75f4276..fb16cec 100644
--- a/include/asm-x86/pgtable-3level.h
+++ b/arch/x86/include/asm/pgtable-3level.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_3LEVEL_H
-#define ASM_X86__PGTABLE_3LEVEL_H
+#ifndef _ASM_X86_PGTABLE_3LEVEL_H
+#define _ASM_X86_PGTABLE_3LEVEL_H
 
 /*
  * Intel Physical Address Extension (PAE) Mode - three-level page
@@ -172,4 +172,4 @@
 #define __pte_to_swp_entry(pte)		((swp_entry_t){ (pte).pte_high })
 #define __swp_entry_to_pte(x)		((pte_t){ { .pte_high = (x).val } })
 
-#endif /* ASM_X86__PGTABLE_3LEVEL_H */
+#endif /* _ASM_X86_PGTABLE_3LEVEL_H */
diff --git a/include/asm-x86/pgtable.h b/arch/x86/include/asm/pgtable.h
similarity index 99%
rename from include/asm-x86/pgtable.h
rename to arch/x86/include/asm/pgtable.h
index 88a53b1..fb7d1e9 100644
--- a/include/asm-x86/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_H
-#define ASM_X86__PGTABLE_H
+#ifndef _ASM_X86_PGTABLE_H
+#define _ASM_X86_PGTABLE_H
 
 #define FIRST_USER_ADDRESS	0
 
@@ -558,4 +558,4 @@
 #include <asm-generic/pgtable.h>
 #endif	/* __ASSEMBLY__ */
 
-#endif /* ASM_X86__PGTABLE_H */
+#endif /* _ASM_X86_PGTABLE_H */
diff --git a/include/asm-x86/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
similarity index 97%
rename from include/asm-x86/pgtable_32.h
rename to arch/x86/include/asm/pgtable_32.h
index 8de702d..f9d5889 100644
--- a/include/asm-x86/pgtable_32.h
+++ b/arch/x86/include/asm/pgtable_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_32_H
-#define ASM_X86__PGTABLE_32_H
+#ifndef _ASM_X86_PGTABLE_32_H
+#define _ASM_X86_PGTABLE_32_H
 
 
 /*
@@ -188,4 +188,4 @@
 #define io_remap_pfn_range(vma, vaddr, pfn, size, prot)	\
 	remap_pfn_range(vma, vaddr, pfn, size, prot)
 
-#endif /* ASM_X86__PGTABLE_32_H */
+#endif /* _ASM_X86_PGTABLE_32_H */
diff --git a/include/asm-x86/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
similarity index 98%
rename from include/asm-x86/pgtable_64.h
rename to arch/x86/include/asm/pgtable_64.h
index fde9770..545a0e0 100644
--- a/include/asm-x86/pgtable_64.h
+++ b/arch/x86/include/asm/pgtable_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PGTABLE_64_H
-#define ASM_X86__PGTABLE_64_H
+#ifndef _ASM_X86_PGTABLE_64_H
+#define _ASM_X86_PGTABLE_64_H
 
 #include <linux/const.h>
 #ifndef __ASSEMBLY__
@@ -282,4 +282,4 @@
 #define __HAVE_ARCH_PTE_SAME
 #endif /* !__ASSEMBLY__ */
 
-#endif /* ASM_X86__PGTABLE_64_H */
+#endif /* _ASM_X86_PGTABLE_64_H */
diff --git a/include/asm-x86/poll.h b/arch/x86/include/asm/poll.h
similarity index 100%
rename from include/asm-x86/poll.h
rename to arch/x86/include/asm/poll.h
diff --git a/include/asm-x86/posix_types.h b/arch/x86/include/asm/posix_types.h
similarity index 100%
rename from include/asm-x86/posix_types.h
rename to arch/x86/include/asm/posix_types.h
diff --git a/include/asm-x86/posix_types_32.h b/arch/x86/include/asm/posix_types_32.h
similarity index 94%
rename from include/asm-x86/posix_types_32.h
rename to arch/x86/include/asm/posix_types_32.h
index 70cf2bb..f7d9adf 100644
--- a/include/asm-x86/posix_types_32.h
+++ b/arch/x86/include/asm/posix_types_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__POSIX_TYPES_32_H
-#define ASM_X86__POSIX_TYPES_32_H
+#ifndef _ASM_X86_POSIX_TYPES_32_H
+#define _ASM_X86_POSIX_TYPES_32_H
 
 /*
  * This file is generally used by user-level software, so you need to
@@ -82,4 +82,4 @@
 
 #endif /* defined(__KERNEL__) */
 
-#endif /* ASM_X86__POSIX_TYPES_32_H */
+#endif /* _ASM_X86_POSIX_TYPES_32_H */
diff --git a/include/asm-x86/posix_types_64.h b/arch/x86/include/asm/posix_types_64.h
similarity index 96%
rename from include/asm-x86/posix_types_64.h
rename to arch/x86/include/asm/posix_types_64.h
index 388b4e7..eb8d2d9 100644
--- a/include/asm-x86/posix_types_64.h
+++ b/arch/x86/include/asm/posix_types_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__POSIX_TYPES_64_H
-#define ASM_X86__POSIX_TYPES_64_H
+#ifndef _ASM_X86_POSIX_TYPES_64_H
+#define _ASM_X86_POSIX_TYPES_64_H
 
 /*
  * This file is generally used by user-level software, so you need to
@@ -116,4 +116,4 @@
 
 #endif /* defined(__KERNEL__) */
 
-#endif /* ASM_X86__POSIX_TYPES_64_H */
+#endif /* _ASM_X86_POSIX_TYPES_64_H */
diff --git a/arch/x86/include/asm/prctl.h b/arch/x86/include/asm/prctl.h
new file mode 100644
index 0000000..fe68114
--- /dev/null
+++ b/arch/x86/include/asm/prctl.h
@@ -0,0 +1,10 @@
+#ifndef _ASM_X86_PRCTL_H
+#define _ASM_X86_PRCTL_H
+
+#define ARCH_SET_GS 0x1001
+#define ARCH_SET_FS 0x1002
+#define ARCH_GET_FS 0x1003
+#define ARCH_GET_GS 0x1004
+
+
+#endif /* _ASM_X86_PRCTL_H */
diff --git a/include/asm-x86/processor-cyrix.h b/arch/x86/include/asm/processor-cyrix.h
similarity index 100%
rename from include/asm-x86/processor-cyrix.h
rename to arch/x86/include/asm/processor-cyrix.h
diff --git a/include/asm-x86/processor-flags.h b/arch/x86/include/asm/processor-flags.h
similarity index 96%
rename from include/asm-x86/processor-flags.h
rename to arch/x86/include/asm/processor-flags.h
index dc5f071..7a3e836 100644
--- a/include/asm-x86/processor-flags.h
+++ b/arch/x86/include/asm/processor-flags.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PROCESSOR_FLAGS_H
-#define ASM_X86__PROCESSOR_FLAGS_H
+#ifndef _ASM_X86_PROCESSOR_FLAGS_H
+#define _ASM_X86_PROCESSOR_FLAGS_H
 /* Various flags defined: can be included from assembler. */
 
 /*
@@ -97,4 +97,4 @@
 #endif
 #endif
 
-#endif /* ASM_X86__PROCESSOR_FLAGS_H */
+#endif /* _ASM_X86_PROCESSOR_FLAGS_H */
diff --git a/include/asm-x86/processor.h b/arch/x86/include/asm/processor.h
similarity index 99%
rename from include/asm-x86/processor.h
rename to arch/x86/include/asm/processor.h
index ee7cbb3..5ca01e3 100644
--- a/include/asm-x86/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PROCESSOR_H
-#define ASM_X86__PROCESSOR_H
+#ifndef _ASM_X86_PROCESSOR_H
+#define _ASM_X86_PROCESSOR_H
 
 #include <asm/processor-flags.h>
 
@@ -933,4 +933,4 @@
 extern int get_tsc_mode(unsigned long adr);
 extern int set_tsc_mode(unsigned int val);
 
-#endif /* ASM_X86__PROCESSOR_H */
+#endif /* _ASM_X86_PROCESSOR_H */
diff --git a/include/asm-x86/proto.h b/arch/x86/include/asm/proto.h
similarity index 88%
rename from include/asm-x86/proto.h
rename to arch/x86/include/asm/proto.h
index 6e89e8b..d6a22f9 100644
--- a/include/asm-x86/proto.h
+++ b/arch/x86/include/asm/proto.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PROTO_H
-#define ASM_X86__PROTO_H
+#ifndef _ASM_X86_PROTO_H
+#define _ASM_X86_PROTO_H
 
 #include <asm/ldt.h>
 
@@ -29,4 +29,4 @@
 #define round_up(x, y) (((x) + (y) - 1) & ~((y) - 1))
 #define round_down(x, y) ((x) & ~((y) - 1))
 
-#endif /* ASM_X86__PROTO_H */
+#endif /* _ASM_X86_PROTO_H */
diff --git a/include/asm-x86/ptrace-abi.h b/arch/x86/include/asm/ptrace-abi.h
similarity index 96%
rename from include/asm-x86/ptrace-abi.h
rename to arch/x86/include/asm/ptrace-abi.h
index 4298b88..25f1bb8 100644
--- a/include/asm-x86/ptrace-abi.h
+++ b/arch/x86/include/asm/ptrace-abi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PTRACE_ABI_H
-#define ASM_X86__PTRACE_ABI_H
+#ifndef _ASM_X86_PTRACE_ABI_H
+#define _ASM_X86_PTRACE_ABI_H
 
 #ifdef __i386__
 
@@ -142,4 +142,4 @@
 */
 #endif /* CONFIG_X86_PTRACE_BTS */
 
-#endif /* ASM_X86__PTRACE_ABI_H */
+#endif /* _ASM_X86_PTRACE_ABI_H */
diff --git a/include/asm-x86/ptrace.h b/arch/x86/include/asm/ptrace.h
similarity index 98%
rename from include/asm-x86/ptrace.h
rename to arch/x86/include/asm/ptrace.h
index a202552..d1531c8 100644
--- a/include/asm-x86/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PTRACE_H
-#define ASM_X86__PTRACE_H
+#ifndef _ASM_X86_PTRACE_H
+#define _ASM_X86_PTRACE_H
 
 #include <linux/compiler.h>	/* For __user */
 #include <asm/ptrace-abi.h>
@@ -277,4 +277,4 @@
 
 #endif /* !__ASSEMBLY__ */
 
-#endif /* ASM_X86__PTRACE_H */
+#endif /* _ASM_X86_PTRACE_H */
diff --git a/include/asm-x86/pvclock-abi.h b/arch/x86/include/asm/pvclock-abi.h
similarity index 91%
rename from include/asm-x86/pvclock-abi.h
rename to arch/x86/include/asm/pvclock-abi.h
index edb3b4e..6d93508 100644
--- a/include/asm-x86/pvclock-abi.h
+++ b/arch/x86/include/asm/pvclock-abi.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PVCLOCK_ABI_H
-#define ASM_X86__PVCLOCK_ABI_H
+#ifndef _ASM_X86_PVCLOCK_ABI_H
+#define _ASM_X86_PVCLOCK_ABI_H
 #ifndef __ASSEMBLY__
 
 /*
@@ -39,4 +39,4 @@
 } __attribute__((__packed__));
 
 #endif /* __ASSEMBLY__ */
-#endif /* ASM_X86__PVCLOCK_ABI_H */
+#endif /* _ASM_X86_PVCLOCK_ABI_H */
diff --git a/include/asm-x86/pvclock.h b/arch/x86/include/asm/pvclock.h
similarity index 81%
rename from include/asm-x86/pvclock.h
rename to arch/x86/include/asm/pvclock.h
index ad29e27..53235fd 100644
--- a/include/asm-x86/pvclock.h
+++ b/arch/x86/include/asm/pvclock.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__PVCLOCK_H
-#define ASM_X86__PVCLOCK_H
+#ifndef _ASM_X86_PVCLOCK_H
+#define _ASM_X86_PVCLOCK_H
 
 #include <linux/clocksource.h>
 #include <asm/pvclock-abi.h>
@@ -11,4 +11,4 @@
 			    struct pvclock_vcpu_time_info *vcpu,
 			    struct timespec *ts);
 
-#endif /* ASM_X86__PVCLOCK_H */
+#endif /* _ASM_X86_PVCLOCK_H */
diff --git a/include/asm-x86/reboot.h b/arch/x86/include/asm/reboot.h
similarity index 83%
rename from include/asm-x86/reboot.h
rename to arch/x86/include/asm/reboot.h
index 1c2f0ce..df77103 100644
--- a/include/asm-x86/reboot.h
+++ b/arch/x86/include/asm/reboot.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__REBOOT_H
-#define ASM_X86__REBOOT_H
+#ifndef _ASM_X86_REBOOT_H
+#define _ASM_X86_REBOOT_H
 
 struct pt_regs;
 
@@ -18,4 +18,4 @@
 void native_machine_shutdown(void);
 void machine_real_restart(const unsigned char *code, int length);
 
-#endif /* ASM_X86__REBOOT_H */
+#endif /* _ASM_X86_REBOOT_H */
diff --git a/arch/x86/include/asm/reboot_fixups.h b/arch/x86/include/asm/reboot_fixups.h
new file mode 100644
index 0000000..765debe
--- /dev/null
+++ b/arch/x86/include/asm/reboot_fixups.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_X86_REBOOT_FIXUPS_H
+#define _ASM_X86_REBOOT_FIXUPS_H
+
+extern void mach_reboot_fixups(void);
+
+#endif /* _ASM_X86_REBOOT_FIXUPS_H */
diff --git a/include/asm-x86/required-features.h b/arch/x86/include/asm/required-features.h
similarity index 94%
rename from include/asm-x86/required-features.h
rename to arch/x86/include/asm/required-features.h
index a01c4e37..d5cd6c5 100644
--- a/include/asm-x86/required-features.h
+++ b/arch/x86/include/asm/required-features.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__REQUIRED_FEATURES_H
-#define ASM_X86__REQUIRED_FEATURES_H
+#ifndef _ASM_X86_REQUIRED_FEATURES_H
+#define _ASM_X86_REQUIRED_FEATURES_H
 
 /* Define minimum CPUID feature set for kernel These bits are checked
    really early to actually display a visible error message before the
@@ -79,4 +79,4 @@
 #define REQUIRED_MASK6	0
 #define REQUIRED_MASK7	0
 
-#endif /* ASM_X86__REQUIRED_FEATURES_H */
+#endif /* _ASM_X86_REQUIRED_FEATURES_H */
diff --git a/include/asm-x86/resource.h b/arch/x86/include/asm/resource.h
similarity index 100%
rename from include/asm-x86/resource.h
rename to arch/x86/include/asm/resource.h
diff --git a/include/asm-x86/resume-trace.h b/arch/x86/include/asm/resume-trace.h
similarity index 80%
rename from include/asm-x86/resume-trace.h
rename to arch/x86/include/asm/resume-trace.h
index e39376d..3ff1c2c 100644
--- a/include/asm-x86/resume-trace.h
+++ b/arch/x86/include/asm/resume-trace.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__RESUME_TRACE_H
-#define ASM_X86__RESUME_TRACE_H
+#ifndef _ASM_X86_RESUME_TRACE_H
+#define _ASM_X86_RESUME_TRACE_H
 
 #include <asm/asm.h>
 
@@ -18,4 +18,4 @@
 	}							\
 } while (0)
 
-#endif /* ASM_X86__RESUME_TRACE_H */
+#endif /* _ASM_X86_RESUME_TRACE_H */
diff --git a/include/asm-x86/rio.h b/arch/x86/include/asm/rio.h
similarity index 96%
rename from include/asm-x86/rio.h
rename to arch/x86/include/asm/rio.h
index 5e1256b..97bab63 100644
--- a/include/asm-x86/rio.h
+++ b/arch/x86/include/asm/rio.h
@@ -5,8 +5,8 @@
  * Author: Laurent Vivier <Laurent.Vivier@bull.net>
  */
 
-#ifndef ASM_X86__RIO_H
-#define ASM_X86__RIO_H
+#ifndef _ASM_X86_RIO_H
+#define _ASM_X86_RIO_H
 
 #define RIO_TABLE_VERSION	3
 
@@ -60,4 +60,4 @@
 	ALT_CALGARY	= 5,	/* Second Planar Calgary      */
 };
 
-#endif /* ASM_X86__RIO_H */
+#endif /* _ASM_X86_RIO_H */
diff --git a/include/asm-x86/rtc.h b/arch/x86/include/asm/rtc.h
similarity index 100%
rename from include/asm-x86/rtc.h
rename to arch/x86/include/asm/rtc.h
diff --git a/arch/x86/include/asm/rwlock.h b/arch/x86/include/asm/rwlock.h
new file mode 100644
index 0000000..6a8c0d6
--- /dev/null
+++ b/arch/x86/include/asm/rwlock.h
@@ -0,0 +1,8 @@
+#ifndef _ASM_X86_RWLOCK_H
+#define _ASM_X86_RWLOCK_H
+
+#define RW_LOCK_BIAS		 0x01000000
+
+/* Actual code is in asm/spinlock.h or in arch/x86/lib/rwlock.S */
+
+#endif /* _ASM_X86_RWLOCK_H */
diff --git a/include/asm-x86/rwsem.h b/arch/x86/include/asm/rwsem.h
similarity index 98%
rename from include/asm-x86/rwsem.h
rename to arch/x86/include/asm/rwsem.h
index 3ff3015..ca7517d 100644
--- a/include/asm-x86/rwsem.h
+++ b/arch/x86/include/asm/rwsem.h
@@ -29,8 +29,8 @@
  * front, then they'll all be woken up, but no other readers will be.
  */
 
-#ifndef ASM_X86__RWSEM_H
-#define ASM_X86__RWSEM_H
+#ifndef _ASM_X86_RWSEM_H
+#define _ASM_X86_RWSEM_H
 
 #ifndef _LINUX_RWSEM_H
 #error "please don't include asm/rwsem.h directly, use linux/rwsem.h instead"
@@ -262,4 +262,4 @@
 }
 
 #endif /* __KERNEL__ */
-#endif /* ASM_X86__RWSEM_H */
+#endif /* _ASM_X86_RWSEM_H */
diff --git a/include/asm-x86/scatterlist.h b/arch/x86/include/asm/scatterlist.h
similarity index 87%
rename from include/asm-x86/scatterlist.h
rename to arch/x86/include/asm/scatterlist.h
index ee48f88..263d397 100644
--- a/include/asm-x86/scatterlist.h
+++ b/arch/x86/include/asm/scatterlist.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SCATTERLIST_H
-#define ASM_X86__SCATTERLIST_H
+#ifndef _ASM_X86_SCATTERLIST_H
+#define _ASM_X86_SCATTERLIST_H
 
 #include <asm/types.h>
 
@@ -30,4 +30,4 @@
 # define sg_dma_len(sg)		((sg)->dma_length)
 #endif
 
-#endif /* ASM_X86__SCATTERLIST_H */
+#endif /* _ASM_X86_SCATTERLIST_H */
diff --git a/include/asm-x86/seccomp.h b/arch/x86/include/asm/seccomp.h
similarity index 100%
rename from include/asm-x86/seccomp.h
rename to arch/x86/include/asm/seccomp.h
diff --git a/include/asm-x86/seccomp_32.h b/arch/x86/include/asm/seccomp_32.h
similarity index 74%
rename from include/asm-x86/seccomp_32.h
rename to arch/x86/include/asm/seccomp_32.h
index cf9ab2d..a6ad87b 100644
--- a/include/asm-x86/seccomp_32.h
+++ b/arch/x86/include/asm/seccomp_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SECCOMP_32_H
-#define ASM_X86__SECCOMP_32_H
+#ifndef _ASM_X86_SECCOMP_32_H
+#define _ASM_X86_SECCOMP_32_H
 
 #include <linux/thread_info.h>
 
@@ -14,4 +14,4 @@
 #define __NR_seccomp_exit __NR_exit
 #define __NR_seccomp_sigreturn __NR_sigreturn
 
-#endif /* ASM_X86__SECCOMP_32_H */
+#endif /* _ASM_X86_SECCOMP_32_H */
diff --git a/include/asm-x86/seccomp_64.h b/arch/x86/include/asm/seccomp_64.h
similarity index 84%
rename from include/asm-x86/seccomp_64.h
rename to arch/x86/include/asm/seccomp_64.h
index 03274ce..4171bb7 100644
--- a/include/asm-x86/seccomp_64.h
+++ b/arch/x86/include/asm/seccomp_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SECCOMP_64_H
-#define ASM_X86__SECCOMP_64_H
+#ifndef _ASM_X86_SECCOMP_64_H
+#define _ASM_X86_SECCOMP_64_H
 
 #include <linux/thread_info.h>
 
@@ -22,4 +22,4 @@
 #define __NR_seccomp_exit_32 __NR_ia32_exit
 #define __NR_seccomp_sigreturn_32 __NR_ia32_sigreturn
 
-#endif /* ASM_X86__SECCOMP_64_H */
+#endif /* _ASM_X86_SECCOMP_64_H */
diff --git a/include/asm-x86/sections.h b/arch/x86/include/asm/sections.h
similarity index 100%
rename from include/asm-x86/sections.h
rename to arch/x86/include/asm/sections.h
diff --git a/include/asm-x86/segment.h b/arch/x86/include/asm/segment.h
similarity index 98%
rename from include/asm-x86/segment.h
rename to arch/x86/include/asm/segment.h
index 5d6e694..1dc1b51 100644
--- a/include/asm-x86/segment.h
+++ b/arch/x86/include/asm/segment.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SEGMENT_H
-#define ASM_X86__SEGMENT_H
+#ifndef _ASM_X86_SEGMENT_H
+#define _ASM_X86_SEGMENT_H
 
 /* Constructor for a conventional segment GDT (or LDT) entry */
 /* This is a macro so it can be used in initializers */
@@ -206,4 +206,4 @@
 #endif
 #endif
 
-#endif /* ASM_X86__SEGMENT_H */
+#endif /* _ASM_X86_SEGMENT_H */
diff --git a/include/asm-x86/sembuf.h b/arch/x86/include/asm/sembuf.h
similarity index 87%
rename from include/asm-x86/sembuf.h
rename to arch/x86/include/asm/sembuf.h
index 81f06b7..ee50c80 100644
--- a/include/asm-x86/sembuf.h
+++ b/arch/x86/include/asm/sembuf.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SEMBUF_H
-#define ASM_X86__SEMBUF_H
+#ifndef _ASM_X86_SEMBUF_H
+#define _ASM_X86_SEMBUF_H
 
 /*
  * The semid64_ds structure for x86 architecture.
@@ -21,4 +21,4 @@
 	unsigned long	__unused4;
 };
 
-#endif /* ASM_X86__SEMBUF_H */
+#endif /* _ASM_X86_SEMBUF_H */
diff --git a/include/asm-x86/serial.h b/arch/x86/include/asm/serial.h
similarity index 91%
rename from include/asm-x86/serial.h
rename to arch/x86/include/asm/serial.h
index 303660b..628c801 100644
--- a/include/asm-x86/serial.h
+++ b/arch/x86/include/asm/serial.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SERIAL_H
-#define ASM_X86__SERIAL_H
+#ifndef _ASM_X86_SERIAL_H
+#define _ASM_X86_SERIAL_H
 
 /*
  * This assumes you have a 1.8432 MHz clock for your UART.
@@ -26,4 +26,4 @@
 	{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS },	/* ttyS2 */	\
 	{ 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS },	/* ttyS3 */
 
-#endif /* ASM_X86__SERIAL_H */
+#endif /* _ASM_X86_SERIAL_H */
diff --git a/include/asm-x86/setup.h b/arch/x86/include/asm/setup.h
similarity index 96%
rename from include/asm-x86/setup.h
rename to arch/x86/include/asm/setup.h
index 11b6cc1..f12d372 100644
--- a/include/asm-x86/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SETUP_H
-#define ASM_X86__SETUP_H
+#ifndef _ASM_X86_SETUP_H
+#define _ASM_X86_SETUP_H
 
 #define COMMAND_LINE_SIZE 2048
 
@@ -102,4 +102,4 @@
 #endif /* __ASSEMBLY__ */
 #endif  /*  __KERNEL__  */
 
-#endif /* ASM_X86__SETUP_H */
+#endif /* _ASM_X86_SETUP_H */
diff --git a/include/asm-x86/shmbuf.h b/arch/x86/include/asm/shmbuf.h
similarity index 93%
rename from include/asm-x86/shmbuf.h
rename to arch/x86/include/asm/shmbuf.h
index f51aec2..b51413b 100644
--- a/include/asm-x86/shmbuf.h
+++ b/arch/x86/include/asm/shmbuf.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SHMBUF_H
-#define ASM_X86__SHMBUF_H
+#ifndef _ASM_X86_SHMBUF_H
+#define _ASM_X86_SHMBUF_H
 
 /*
  * The shmid64_ds structure for x86 architecture.
@@ -48,4 +48,4 @@
 	unsigned long	__unused4;
 };
 
-#endif /* ASM_X86__SHMBUF_H */
+#endif /* _ASM_X86_SHMBUF_H */
diff --git a/arch/x86/include/asm/shmparam.h b/arch/x86/include/asm/shmparam.h
new file mode 100644
index 0000000..0880cf0
--- /dev/null
+++ b/arch/x86/include/asm/shmparam.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_X86_SHMPARAM_H
+#define _ASM_X86_SHMPARAM_H
+
+#define SHMLBA PAGE_SIZE	 /* attach addr a multiple of this */
+
+#endif /* _ASM_X86_SHMPARAM_H */
diff --git a/include/asm-x86/sigcontext.h b/arch/x86/include/asm/sigcontext.h
similarity index 98%
rename from include/asm-x86/sigcontext.h
rename to arch/x86/include/asm/sigcontext.h
index ee813f4..0afcb5e 100644
--- a/include/asm-x86/sigcontext.h
+++ b/arch/x86/include/asm/sigcontext.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SIGCONTEXT_H
-#define ASM_X86__SIGCONTEXT_H
+#ifndef _ASM_X86_SIGCONTEXT_H
+#define _ASM_X86_SIGCONTEXT_H
 
 #include <linux/compiler.h>
 #include <asm/types.h>
@@ -281,4 +281,4 @@
 	/* new processor state extensions go here */
 };
 
-#endif /* ASM_X86__SIGCONTEXT_H */
+#endif /* _ASM_X86_SIGCONTEXT_H */
diff --git a/include/asm-x86/sigcontext32.h b/arch/x86/include/asm/sigcontext32.h
similarity index 93%
rename from include/asm-x86/sigcontext32.h
rename to arch/x86/include/asm/sigcontext32.h
index 8c34703..6126188 100644
--- a/include/asm-x86/sigcontext32.h
+++ b/arch/x86/include/asm/sigcontext32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SIGCONTEXT32_H
-#define ASM_X86__SIGCONTEXT32_H
+#ifndef _ASM_X86_SIGCONTEXT32_H
+#define _ASM_X86_SIGCONTEXT32_H
 
 /* signal context for 32bit programs. */
 
@@ -72,4 +72,4 @@
        unsigned int cr2;
 };
 
-#endif /* ASM_X86__SIGCONTEXT32_H */
+#endif /* _ASM_X86_SIGCONTEXT32_H */
diff --git a/arch/x86/include/asm/siginfo.h b/arch/x86/include/asm/siginfo.h
new file mode 100644
index 0000000..fc1aa55
--- /dev/null
+++ b/arch/x86/include/asm/siginfo.h
@@ -0,0 +1,10 @@
+#ifndef _ASM_X86_SIGINFO_H
+#define _ASM_X86_SIGINFO_H
+
+#ifdef __x86_64__
+# define __ARCH_SI_PREAMBLE_SIZE	(4 * sizeof(int))
+#endif
+
+#include <asm-generic/siginfo.h>
+
+#endif /* _ASM_X86_SIGINFO_H */
diff --git a/include/asm-x86/signal.h b/arch/x86/include/asm/signal.h
similarity index 98%
rename from include/asm-x86/signal.h
rename to arch/x86/include/asm/signal.h
index 65acc82..96ac44f 100644
--- a/include/asm-x86/signal.h
+++ b/arch/x86/include/asm/signal.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SIGNAL_H
-#define ASM_X86__SIGNAL_H
+#ifndef _ASM_X86_SIGNAL_H
+#define _ASM_X86_SIGNAL_H
 
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
@@ -259,4 +259,4 @@
 #endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
-#endif /* ASM_X86__SIGNAL_H */
+#endif /* _ASM_X86_SIGNAL_H */
diff --git a/include/asm-x86/smp.h b/arch/x86/include/asm/smp.h
similarity index 98%
rename from include/asm-x86/smp.h
rename to arch/x86/include/asm/smp.h
index a6afc29..2766021 100644
--- a/include/asm-x86/smp.h
+++ b/arch/x86/include/asm/smp.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SMP_H
-#define ASM_X86__SMP_H
+#ifndef _ASM_X86_SMP_H
+#define _ASM_X86_SMP_H
 #ifndef __ASSEMBLY__
 #include <linux/cpumask.h>
 #include <linux/init.h>
@@ -226,4 +226,4 @@
 #endif /* CONFIG_X86_LOCAL_APIC */
 
 #endif /* __ASSEMBLY__ */
-#endif /* ASM_X86__SMP_H */
+#endif /* _ASM_X86_SMP_H */
diff --git a/include/asm-x86/socket.h b/arch/x86/include/asm/socket.h
similarity index 92%
rename from include/asm-x86/socket.h
rename to arch/x86/include/asm/socket.h
index db73274..8ab9cc8 100644
--- a/include/asm-x86/socket.h
+++ b/arch/x86/include/asm/socket.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SOCKET_H
-#define ASM_X86__SOCKET_H
+#ifndef _ASM_X86_SOCKET_H
+#define _ASM_X86_SOCKET_H
 
 #include <asm/sockios.h>
 
@@ -54,4 +54,4 @@
 
 #define SO_MARK			36
 
-#endif /* ASM_X86__SOCKET_H */
+#endif /* _ASM_X86_SOCKET_H */
diff --git a/include/asm-x86/sockios.h b/arch/x86/include/asm/sockios.h
similarity index 75%
rename from include/asm-x86/sockios.h
rename to arch/x86/include/asm/sockios.h
index a006704..49cc72b 100644
--- a/include/asm-x86/sockios.h
+++ b/arch/x86/include/asm/sockios.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SOCKIOS_H
-#define ASM_X86__SOCKIOS_H
+#ifndef _ASM_X86_SOCKIOS_H
+#define _ASM_X86_SOCKIOS_H
 
 /* Socket-level I/O control calls. */
 #define FIOSETOWN	0x8901
@@ -10,4 +10,4 @@
 #define SIOCGSTAMP	0x8906		/* Get stamp (timeval) */
 #define SIOCGSTAMPNS	0x8907		/* Get stamp (timespec) */
 
-#endif /* ASM_X86__SOCKIOS_H */
+#endif /* _ASM_X86_SOCKIOS_H */
diff --git a/include/asm-x86/sparsemem.h b/arch/x86/include/asm/sparsemem.h
similarity index 89%
rename from include/asm-x86/sparsemem.h
rename to arch/x86/include/asm/sparsemem.h
index 38f8e6b..be44f7d 100644
--- a/include/asm-x86/sparsemem.h
+++ b/arch/x86/include/asm/sparsemem.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SPARSEMEM_H
-#define ASM_X86__SPARSEMEM_H
+#ifndef _ASM_X86_SPARSEMEM_H
+#define _ASM_X86_SPARSEMEM_H
 
 #ifdef CONFIG_SPARSEMEM
 /*
@@ -31,4 +31,4 @@
 #endif
 
 #endif /* CONFIG_SPARSEMEM */
-#endif /* ASM_X86__SPARSEMEM_H */
+#endif /* _ASM_X86_SPARSEMEM_H */
diff --git a/include/asm-x86/spinlock.h b/arch/x86/include/asm/spinlock.h
similarity index 98%
rename from include/asm-x86/spinlock.h
rename to arch/x86/include/asm/spinlock.h
index 157ff7f..d17c919 100644
--- a/include/asm-x86/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SPINLOCK_H
-#define ASM_X86__SPINLOCK_H
+#ifndef _ASM_X86_SPINLOCK_H
+#define _ASM_X86_SPINLOCK_H
 
 #include <asm/atomic.h>
 #include <asm/rwlock.h>
@@ -361,4 +361,4 @@
 #define _raw_read_relax(lock)	cpu_relax()
 #define _raw_write_relax(lock)	cpu_relax()
 
-#endif /* ASM_X86__SPINLOCK_H */
+#endif /* _ASM_X86_SPINLOCK_H */
diff --git a/include/asm-x86/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
similarity index 73%
rename from include/asm-x86/spinlock_types.h
rename to arch/x86/include/asm/spinlock_types.h
index 6aa9b56..845f81c 100644
--- a/include/asm-x86/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SPINLOCK_TYPES_H
-#define ASM_X86__SPINLOCK_TYPES_H
+#ifndef _ASM_X86_SPINLOCK_TYPES_H
+#define _ASM_X86_SPINLOCK_TYPES_H
 
 #ifndef __LINUX_SPINLOCK_TYPES_H
 # error "please don't include this file directly"
@@ -17,4 +17,4 @@
 
 #define __RAW_RW_LOCK_UNLOCKED		{ RW_LOCK_BIAS }
 
-#endif /* ASM_X86__SPINLOCK_TYPES_H */
+#endif /* _ASM_X86_SPINLOCK_TYPES_H */
diff --git a/include/asm-x86/srat.h b/arch/x86/include/asm/srat.h
similarity index 93%
rename from include/asm-x86/srat.h
rename to arch/x86/include/asm/srat.h
index 5363e4f..b508d63 100644
--- a/include/asm-x86/srat.h
+++ b/arch/x86/include/asm/srat.h
@@ -24,8 +24,8 @@
  * Send feedback to Pat Gaughen <gone@us.ibm.com>
  */
 
-#ifndef ASM_X86__SRAT_H
-#define ASM_X86__SRAT_H
+#ifndef _ASM_X86_SRAT_H
+#define _ASM_X86_SRAT_H
 
 #ifdef CONFIG_ACPI_NUMA
 extern int get_memcfg_from_srat(void);
@@ -36,4 +36,4 @@
 }
 #endif
 
-#endif /* ASM_X86__SRAT_H */
+#endif /* _ASM_X86_SRAT_H */
diff --git a/include/asm-x86/stacktrace.h b/arch/x86/include/asm/stacktrace.h
similarity index 85%
rename from include/asm-x86/stacktrace.h
rename to arch/x86/include/asm/stacktrace.h
index f43517e..f517944 100644
--- a/include/asm-x86/stacktrace.h
+++ b/arch/x86/include/asm/stacktrace.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__STACKTRACE_H
-#define ASM_X86__STACKTRACE_H
+#ifndef _ASM_X86_STACKTRACE_H
+#define _ASM_X86_STACKTRACE_H
 
 extern int kstack_depth_to_print;
 
@@ -18,4 +18,4 @@
 		unsigned long *stack, unsigned long bp,
 		const struct stacktrace_ops *ops, void *data);
 
-#endif /* ASM_X86__STACKTRACE_H */
+#endif /* _ASM_X86_STACKTRACE_H */
diff --git a/include/asm-x86/stat.h b/arch/x86/include/asm/stat.h
similarity index 96%
rename from include/asm-x86/stat.h
rename to arch/x86/include/asm/stat.h
index 1e120f6..e0b1d9b 100644
--- a/include/asm-x86/stat.h
+++ b/arch/x86/include/asm/stat.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__STAT_H
-#define ASM_X86__STAT_H
+#ifndef _ASM_X86_STAT_H
+#define _ASM_X86_STAT_H
 
 #define STAT_HAVE_NSEC 1
 
@@ -111,4 +111,4 @@
 #endif
 };
 
-#endif /* ASM_X86__STAT_H */
+#endif /* _ASM_X86_STAT_H */
diff --git a/include/asm-x86/statfs.h b/arch/x86/include/asm/statfs.h
similarity index 76%
rename from include/asm-x86/statfs.h
rename to arch/x86/include/asm/statfs.h
index ca5dc19..2d0adbf 100644
--- a/include/asm-x86/statfs.h
+++ b/arch/x86/include/asm/statfs.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__STATFS_H
-#define ASM_X86__STATFS_H
+#ifndef _ASM_X86_STATFS_H
+#define _ASM_X86_STATFS_H
 
 /*
  * We need compat_statfs64 to be packed, because the i386 ABI won't
@@ -9,4 +9,4 @@
 #define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
 
 #include <asm-generic/statfs.h>
-#endif /* ASM_X86__STATFS_H */
+#endif /* _ASM_X86_STATFS_H */
diff --git a/include/asm-x86/string.h b/arch/x86/include/asm/string.h
similarity index 100%
rename from include/asm-x86/string.h
rename to arch/x86/include/asm/string.h
diff --git a/include/asm-x86/string_32.h b/arch/x86/include/asm/string_32.h
similarity index 98%
rename from include/asm-x86/string_32.h
rename to arch/x86/include/asm/string_32.h
index 487843e..0e0e3ba 100644
--- a/include/asm-x86/string_32.h
+++ b/arch/x86/include/asm/string_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__STRING_32_H
-#define ASM_X86__STRING_32_H
+#ifndef _ASM_X86_STRING_32_H
+#define _ASM_X86_STRING_32_H
 
 #ifdef __KERNEL__
 
@@ -323,4 +323,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__STRING_32_H */
+#endif /* _ASM_X86_STRING_32_H */
diff --git a/include/asm-x86/string_64.h b/arch/x86/include/asm/string_64.h
similarity index 93%
rename from include/asm-x86/string_64.h
rename to arch/x86/include/asm/string_64.h
index a2add11d..2afe164 100644
--- a/include/asm-x86/string_64.h
+++ b/arch/x86/include/asm/string_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__STRING_64_H
-#define ASM_X86__STRING_64_H
+#ifndef _ASM_X86_STRING_64_H
+#define _ASM_X86_STRING_64_H
 
 #ifdef __KERNEL__
 
@@ -57,4 +57,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__STRING_64_H */
+#endif /* _ASM_X86_STRING_64_H */
diff --git a/include/asm-x86/summit/apic.h b/arch/x86/include/asm/summit/apic.h
similarity index 100%
rename from include/asm-x86/summit/apic.h
rename to arch/x86/include/asm/summit/apic.h
diff --git a/include/asm-x86/summit/apicdef.h b/arch/x86/include/asm/summit/apicdef.h
similarity index 100%
rename from include/asm-x86/summit/apicdef.h
rename to arch/x86/include/asm/summit/apicdef.h
diff --git a/include/asm-x86/summit/ipi.h b/arch/x86/include/asm/summit/ipi.h
similarity index 100%
rename from include/asm-x86/summit/ipi.h
rename to arch/x86/include/asm/summit/ipi.h
diff --git a/include/asm-x86/summit/mpparse.h b/arch/x86/include/asm/summit/mpparse.h
similarity index 100%
rename from include/asm-x86/summit/mpparse.h
rename to arch/x86/include/asm/summit/mpparse.h
diff --git a/include/asm-x86/suspend.h b/arch/x86/include/asm/suspend.h
similarity index 100%
rename from include/asm-x86/suspend.h
rename to arch/x86/include/asm/suspend.h
diff --git a/include/asm-x86/suspend_32.h b/arch/x86/include/asm/suspend_32.h
similarity index 92%
rename from include/asm-x86/suspend_32.h
rename to arch/x86/include/asm/suspend_32.h
index acb6d4d..a5074bd 100644
--- a/include/asm-x86/suspend_32.h
+++ b/arch/x86/include/asm/suspend_32.h
@@ -3,8 +3,8 @@
  * Based on code
  * Copyright 2001 Patrick Mochel <mochel@osdl.org>
  */
-#ifndef ASM_X86__SUSPEND_32_H
-#define ASM_X86__SUSPEND_32_H
+#ifndef _ASM_X86_SUSPEND_32_H
+#define _ASM_X86_SUSPEND_32_H
 
 #include <asm/desc.h>
 #include <asm/i387.h>
@@ -48,4 +48,4 @@
 extern int acpi_save_state_mem(void);
 #endif
 
-#endif /* ASM_X86__SUSPEND_32_H */
+#endif /* _ASM_X86_SUSPEND_32_H */
diff --git a/include/asm-x86/suspend_64.h b/arch/x86/include/asm/suspend_64.h
similarity index 92%
rename from include/asm-x86/suspend_64.h
rename to arch/x86/include/asm/suspend_64.h
index cf821dd..06284f4 100644
--- a/include/asm-x86/suspend_64.h
+++ b/arch/x86/include/asm/suspend_64.h
@@ -3,8 +3,8 @@
  * Based on code
  * Copyright 2001 Patrick Mochel <mochel@osdl.org>
  */
-#ifndef ASM_X86__SUSPEND_64_H
-#define ASM_X86__SUSPEND_64_H
+#ifndef _ASM_X86_SUSPEND_64_H
+#define _ASM_X86_SUSPEND_64_H
 
 #include <asm/desc.h>
 #include <asm/i387.h>
@@ -49,4 +49,4 @@
 extern char core_restore_code;
 extern char restore_registers;
 
-#endif /* ASM_X86__SUSPEND_64_H */
+#endif /* _ASM_X86_SUSPEND_64_H */
diff --git a/include/asm-x86/swiotlb.h b/arch/x86/include/asm/swiotlb.h
similarity index 95%
rename from include/asm-x86/swiotlb.h
rename to arch/x86/include/asm/swiotlb.h
index 1e20adb..51fb2c7 100644
--- a/include/asm-x86/swiotlb.h
+++ b/arch/x86/include/asm/swiotlb.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SWIOTLB_H
-#define ASM_X86__SWIOTLB_H
+#ifndef _ASM_X86_SWIOTLB_H
+#define _ASM_X86_SWIOTLB_H
 
 #include <asm/dma-mapping.h>
 
@@ -55,4 +55,4 @@
 
 static inline void dma_mark_clean(void *addr, size_t size) {}
 
-#endif /* ASM_X86__SWIOTLB_H */
+#endif /* _ASM_X86_SWIOTLB_H */
diff --git a/include/asm-x86/sync_bitops.h b/arch/x86/include/asm/sync_bitops.h
similarity index 96%
rename from include/asm-x86/sync_bitops.h
rename to arch/x86/include/asm/sync_bitops.h
index b689bee..9d09b40 100644
--- a/include/asm-x86/sync_bitops.h
+++ b/arch/x86/include/asm/sync_bitops.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SYNC_BITOPS_H
-#define ASM_X86__SYNC_BITOPS_H
+#ifndef _ASM_X86_SYNC_BITOPS_H
+#define _ASM_X86_SYNC_BITOPS_H
 
 /*
  * Copyright 1992, Linus Torvalds.
@@ -127,4 +127,4 @@
 
 #undef ADDR
 
-#endif /* ASM_X86__SYNC_BITOPS_H */
+#endif /* _ASM_X86_SYNC_BITOPS_H */
diff --git a/include/asm-x86/syscall.h b/arch/x86/include/asm/syscall.h
similarity index 97%
rename from include/asm-x86/syscall.h
rename to arch/x86/include/asm/syscall.h
index 04c47dc..1d88f695 100644
--- a/include/asm-x86/syscall.h
+++ b/arch/x86/include/asm/syscall.h
@@ -10,8 +10,8 @@
  * See asm-generic/syscall.h for descriptions of what we must do here.
  */
 
-#ifndef _ASM_SYSCALL_H
-#define _ASM_SYSCALL_H	1
+#ifndef _ASM_X86_SYSCALL_H
+#define _ASM_X86_SYSCALL_H
 
 #include <linux/sched.h>
 #include <linux/err.h>
@@ -208,4 +208,4 @@
 
 #endif	/* CONFIG_X86_32 */
 
-#endif	/* _ASM_SYSCALL_H */
+#endif	/* _ASM_X86_SYSCALL_H */
diff --git a/include/asm-x86/syscalls.h b/arch/x86/include/asm/syscalls.h
similarity index 100%
rename from include/asm-x86/syscalls.h
rename to arch/x86/include/asm/syscalls.h
diff --git a/include/asm-x86/system.h b/arch/x86/include/asm/system.h
similarity index 98%
rename from include/asm-x86/system.h
rename to arch/x86/include/asm/system.h
index b20c894..2ed3f0f 100644
--- a/include/asm-x86/system.h
+++ b/arch/x86/include/asm/system.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SYSTEM_H
-#define ASM_X86__SYSTEM_H
+#ifndef _ASM_X86_SYSTEM_H
+#define _ASM_X86_SYSTEM_H
 
 #include <asm/asm.h>
 #include <asm/segment.h>
@@ -422,4 +422,4 @@
 	alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
 }
 
-#endif /* ASM_X86__SYSTEM_H */
+#endif /* _ASM_X86_SYSTEM_H */
diff --git a/include/asm-x86/system_64.h b/arch/x86/include/asm/system_64.h
similarity index 77%
rename from include/asm-x86/system_64.h
rename to arch/x86/include/asm/system_64.h
index 5aedb8b..1159e091 100644
--- a/include/asm-x86/system_64.h
+++ b/arch/x86/include/asm/system_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__SYSTEM_64_H
-#define ASM_X86__SYSTEM_64_H
+#ifndef _ASM_X86_SYSTEM_64_H
+#define _ASM_X86_SYSTEM_64_H
 
 #include <asm/segment.h>
 #include <asm/cmpxchg.h>
@@ -19,4 +19,4 @@
 
 #include <linux/irqflags.h>
 
-#endif /* ASM_X86__SYSTEM_64_H */
+#endif /* _ASM_X86_SYSTEM_64_H */
diff --git a/include/asm-x86/tce.h b/arch/x86/include/asm/tce.h
similarity index 95%
rename from include/asm-x86/tce.h
rename to arch/x86/include/asm/tce.h
index e7932d7..7a6677c 100644
--- a/include/asm-x86/tce.h
+++ b/arch/x86/include/asm/tce.h
@@ -21,8 +21,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#ifndef ASM_X86__TCE_H
-#define ASM_X86__TCE_H
+#ifndef _ASM_X86_TCE_H
+#define _ASM_X86_TCE_H
 
 extern unsigned int specified_table_size;
 struct iommu_table;
@@ -45,4 +45,4 @@
 extern void __init free_tce_table(void *tbl);
 extern int __init build_tce_table(struct pci_dev *dev, void __iomem *bbar);
 
-#endif /* ASM_X86__TCE_H */
+#endif /* _ASM_X86_TCE_H */
diff --git a/include/asm-x86/termbits.h b/arch/x86/include/asm/termbits.h
similarity index 97%
rename from include/asm-x86/termbits.h
rename to arch/x86/include/asm/termbits.h
index 3d00dc5..af1b70e 100644
--- a/include/asm-x86/termbits.h
+++ b/arch/x86/include/asm/termbits.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TERMBITS_H
-#define ASM_X86__TERMBITS_H
+#ifndef _ASM_X86_TERMBITS_H
+#define _ASM_X86_TERMBITS_H
 
 #include <linux/posix_types.h>
 
@@ -195,4 +195,4 @@
 #define	TCSADRAIN	1
 #define	TCSAFLUSH	2
 
-#endif /* ASM_X86__TERMBITS_H */
+#endif /* _ASM_X86_TERMBITS_H */
diff --git a/include/asm-x86/termios.h b/arch/x86/include/asm/termios.h
similarity index 96%
rename from include/asm-x86/termios.h
rename to arch/x86/include/asm/termios.h
index e235db2..f729563 100644
--- a/include/asm-x86/termios.h
+++ b/arch/x86/include/asm/termios.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TERMIOS_H
-#define ASM_X86__TERMIOS_H
+#ifndef _ASM_X86_TERMIOS_H
+#define _ASM_X86_TERMIOS_H
 
 #include <asm/termbits.h>
 #include <asm/ioctls.h>
@@ -110,4 +110,4 @@
 
 #endif	/* __KERNEL__ */
 
-#endif /* ASM_X86__TERMIOS_H */
+#endif /* _ASM_X86_TERMIOS_H */
diff --git a/arch/x86/include/asm/therm_throt.h b/arch/x86/include/asm/therm_throt.h
new file mode 100644
index 0000000..c62349e
--- /dev/null
+++ b/arch/x86/include/asm/therm_throt.h
@@ -0,0 +1,9 @@
+#ifndef _ASM_X86_THERM_THROT_H
+#define _ASM_X86_THERM_THROT_H
+
+#include <asm/atomic.h>
+
+extern atomic_t therm_throt_en;
+int therm_throt_process(int curr);
+
+#endif /* _ASM_X86_THERM_THROT_H */
diff --git a/include/asm-x86/thread_info.h b/arch/x86/include/asm/thread_info.h
similarity index 98%
rename from include/asm-x86/thread_info.h
rename to arch/x86/include/asm/thread_info.h
index 3f4e52b..e44d379 100644
--- a/include/asm-x86/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -4,8 +4,8 @@
  * - Incorporating suggestions made by Linus Torvalds and Dave Miller
  */
 
-#ifndef ASM_X86__THREAD_INFO_H
-#define ASM_X86__THREAD_INFO_H
+#ifndef _ASM_X86_THREAD_INFO_H
+#define _ASM_X86_THREAD_INFO_H
 
 #include <linux/compiler.h>
 #include <asm/page.h>
@@ -261,4 +261,4 @@
 extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src);
 #define arch_task_cache_init arch_task_cache_init
 #endif
-#endif /* ASM_X86__THREAD_INFO_H */
+#endif /* _ASM_X86_THREAD_INFO_H */
diff --git a/include/asm-x86/time.h b/arch/x86/include/asm/time.h
similarity index 92%
rename from include/asm-x86/time.h
rename to arch/x86/include/asm/time.h
index 3e724ee..50c733a 100644
--- a/include/asm-x86/time.h
+++ b/arch/x86/include/asm/time.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TIME_H
-#define ASM_X86__TIME_H
+#ifndef _ASM_X86_TIME_H
+#define _ASM_X86_TIME_H
 
 extern void hpet_time_init(void);
 
@@ -60,4 +60,4 @@
 
 extern unsigned long __init calibrate_cpu(void);
 
-#endif /* ASM_X86__TIME_H */
+#endif /* _ASM_X86_TIME_H */
diff --git a/include/asm-x86/timer.h b/arch/x86/include/asm/timer.h
similarity index 94%
rename from include/asm-x86/timer.h
rename to arch/x86/include/asm/timer.h
index d0babce..2bb6a83 100644
--- a/include/asm-x86/timer.h
+++ b/arch/x86/include/asm/timer.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TIMER_H
-#define ASM_X86__TIMER_H
+#ifndef _ASM_X86_TIMER_H
+#define _ASM_X86_TIMER_H
 #include <linux/init.h>
 #include <linux/pm.h>
 #include <linux/percpu.h>
@@ -63,4 +63,4 @@
 	return ns;
 }
 
-#endif /* ASM_X86__TIMER_H */
+#endif /* _ASM_X86_TIMER_H */
diff --git a/include/asm-x86/timex.h b/arch/x86/include/asm/timex.h
similarity index 83%
rename from include/asm-x86/timex.h
rename to arch/x86/include/asm/timex.h
index d1ce241..1287dc1 100644
--- a/include/asm-x86/timex.h
+++ b/arch/x86/include/asm/timex.h
@@ -1,6 +1,6 @@
 /* x86 architecture timex specifications */
-#ifndef ASM_X86__TIMEX_H
-#define ASM_X86__TIMEX_H
+#ifndef _ASM_X86_TIMEX_H
+#define _ASM_X86_TIMEX_H
 
 #include <asm/processor.h>
 #include <asm/tsc.h>
@@ -16,4 +16,4 @@
 
 #define ARCH_HAS_READ_CURRENT_TIMER
 
-#endif /* ASM_X86__TIMEX_H */
+#endif /* _ASM_X86_TIMEX_H */
diff --git a/include/asm-x86/tlb.h b/arch/x86/include/asm/tlb.h
similarity index 76%
rename from include/asm-x86/tlb.h
rename to arch/x86/include/asm/tlb.h
index db36e9e..829215f 100644
--- a/include/asm-x86/tlb.h
+++ b/arch/x86/include/asm/tlb.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TLB_H
-#define ASM_X86__TLB_H
+#ifndef _ASM_X86_TLB_H
+#define _ASM_X86_TLB_H
 
 #define tlb_start_vma(tlb, vma) do { } while (0)
 #define tlb_end_vma(tlb, vma) do { } while (0)
@@ -8,4 +8,4 @@
 
 #include <asm-generic/tlb.h>
 
-#endif /* ASM_X86__TLB_H */
+#endif /* _ASM_X86_TLB_H */
diff --git a/include/asm-x86/tlbflush.h b/arch/x86/include/asm/tlbflush.h
similarity index 97%
rename from include/asm-x86/tlbflush.h
rename to arch/x86/include/asm/tlbflush.h
index 3cdd08b..0e7bbb5 100644
--- a/include/asm-x86/tlbflush.h
+++ b/arch/x86/include/asm/tlbflush.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TLBFLUSH_H
-#define ASM_X86__TLBFLUSH_H
+#ifndef _ASM_X86_TLBFLUSH_H
+#define _ASM_X86_TLBFLUSH_H
 
 #include <linux/mm.h>
 #include <linux/sched.h>
@@ -175,4 +175,4 @@
 	flush_tlb_all();
 }
 
-#endif /* ASM_X86__TLBFLUSH_H */
+#endif /* _ASM_X86_TLBFLUSH_H */
diff --git a/include/asm-x86/topology.h b/arch/x86/include/asm/topology.h
similarity index 98%
rename from include/asm-x86/topology.h
rename to arch/x86/include/asm/topology.h
index 7eca9bc..90ac771 100644
--- a/include/asm-x86/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -22,8 +22,8 @@
  *
  * Send feedback to <colpatch@us.ibm.com>
  */
-#ifndef ASM_X86__TOPOLOGY_H
-#define ASM_X86__TOPOLOGY_H
+#ifndef _ASM_X86_TOPOLOGY_H
+#define _ASM_X86_TOPOLOGY_H
 
 #ifdef CONFIG_X86_32
 # ifdef CONFIG_X86_HT
@@ -255,4 +255,4 @@
 }
 #endif
 
-#endif /* ASM_X86__TOPOLOGY_H */
+#endif /* _ASM_X86_TOPOLOGY_H */
diff --git a/include/asm-x86/trampoline.h b/arch/x86/include/asm/trampoline.h
similarity index 79%
rename from include/asm-x86/trampoline.h
rename to arch/x86/include/asm/trampoline.h
index 0406bbd..fa0d79f 100644
--- a/include/asm-x86/trampoline.h
+++ b/arch/x86/include/asm/trampoline.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TRAMPOLINE_H
-#define ASM_X86__TRAMPOLINE_H
+#ifndef _ASM_X86_TRAMPOLINE_H
+#define _ASM_X86_TRAMPOLINE_H
 
 #ifndef __ASSEMBLY__
 
@@ -18,4 +18,4 @@
 
 #endif /* __ASSEMBLY__ */
 
-#endif /* ASM_X86__TRAMPOLINE_H */
+#endif /* _ASM_X86_TRAMPOLINE_H */
diff --git a/include/asm-x86/traps.h b/arch/x86/include/asm/traps.h
similarity index 96%
rename from include/asm-x86/traps.h
rename to arch/x86/include/asm/traps.h
index 6c3dc2c..45dee28 100644
--- a/include/asm-x86/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TRAPS_H
-#define ASM_X86__TRAPS_H
+#ifndef _ASM_X86_TRAPS_H
+#define _ASM_X86_TRAPS_H
 
 #include <asm/debugreg.h>
 
@@ -78,4 +78,4 @@
 asmlinkage void math_emulate(long);
 #endif
 
-#endif /* ASM_X86__TRAPS_H */
+#endif /* _ASM_X86_TRAPS_H */
diff --git a/include/asm-x86/tsc.h b/arch/x86/include/asm/tsc.h
similarity index 93%
rename from include/asm-x86/tsc.h
rename to arch/x86/include/asm/tsc.h
index ad0f5c4..38ae163 100644
--- a/include/asm-x86/tsc.h
+++ b/arch/x86/include/asm/tsc.h
@@ -1,8 +1,8 @@
 /*
  * x86 TSC related functions
  */
-#ifndef ASM_X86__TSC_H
-#define ASM_X86__TSC_H
+#ifndef _ASM_X86_TSC_H
+#define _ASM_X86_TSC_H
 
 #include <asm/processor.h>
 
@@ -59,4 +59,4 @@
 
 extern int notsc_setup(char *);
 
-#endif /* ASM_X86__TSC_H */
+#endif /* _ASM_X86_TSC_H */
diff --git a/include/asm-x86/types.h b/arch/x86/include/asm/types.h
similarity index 87%
rename from include/asm-x86/types.h
rename to arch/x86/include/asm/types.h
index e78b52e..e6f7363 100644
--- a/include/asm-x86/types.h
+++ b/arch/x86/include/asm/types.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__TYPES_H
-#define ASM_X86__TYPES_H
+#ifndef _ASM_X86_TYPES_H
+#define _ASM_X86_TYPES_H
 
 #include <asm-generic/int-ll64.h>
 
@@ -33,4 +33,4 @@
 #endif /* __ASSEMBLY__ */
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__TYPES_H */
+#endif /* _ASM_X86_TYPES_H */
diff --git a/include/asm-x86/uaccess.h b/arch/x86/include/asm/uaccess.h
similarity index 98%
rename from include/asm-x86/uaccess.h
rename to arch/x86/include/asm/uaccess.h
index 48ebc0a..35c54921b 100644
--- a/include/asm-x86/uaccess.h
+++ b/arch/x86/include/asm/uaccess.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UACCESS_H
-#define ASM_X86__UACCESS_H
+#ifndef _ASM_X86_UACCESS_H
+#define _ASM_X86_UACCESS_H
 /*
  * User space memory access functions
  */
@@ -450,5 +450,5 @@
 # include "uaccess_64.h"
 #endif
 
-#endif /* ASM_X86__UACCESS_H */
+#endif /* _ASM_X86_UACCESS_H */
 
diff --git a/include/asm-x86/uaccess_32.h b/arch/x86/include/asm/uaccess_32.h
similarity index 98%
rename from include/asm-x86/uaccess_32.h
rename to arch/x86/include/asm/uaccess_32.h
index 6b5b57d..d095a3a 100644
--- a/include/asm-x86/uaccess_32.h
+++ b/arch/x86/include/asm/uaccess_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UACCESS_32_H
-#define ASM_X86__UACCESS_32_H
+#ifndef _ASM_X86_UACCESS_32_H
+#define _ASM_X86_UACCESS_32_H
 
 /*
  * User space memory access functions
@@ -215,4 +215,4 @@
 unsigned long __must_check clear_user(void __user *mem, unsigned long len);
 unsigned long __must_check __clear_user(void __user *mem, unsigned long len);
 
-#endif /* ASM_X86__UACCESS_32_H */
+#endif /* _ASM_X86_UACCESS_32_H */
diff --git a/include/asm-x86/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h
similarity index 97%
rename from include/asm-x86/uaccess_64.h
rename to arch/x86/include/asm/uaccess_64.h
index c96c1f5..664f152 100644
--- a/include/asm-x86/uaccess_64.h
+++ b/arch/x86/include/asm/uaccess_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UACCESS_64_H
-#define ASM_X86__UACCESS_64_H
+#ifndef _ASM_X86_UACCESS_64_H
+#define _ASM_X86_UACCESS_64_H
 
 /*
  * User space memory access functions
@@ -199,4 +199,4 @@
 unsigned long
 copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest);
 
-#endif /* ASM_X86__UACCESS_64_H */
+#endif /* _ASM_X86_UACCESS_64_H */
diff --git a/include/asm-x86/ucontext.h b/arch/x86/include/asm/ucontext.h
similarity index 81%
rename from include/asm-x86/ucontext.h
rename to arch/x86/include/asm/ucontext.h
index 89eaa54..87324cf 100644
--- a/include/asm-x86/ucontext.h
+++ b/arch/x86/include/asm/ucontext.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UCONTEXT_H
-#define ASM_X86__UCONTEXT_H
+#ifndef _ASM_X86_UCONTEXT_H
+#define _ASM_X86_UCONTEXT_H
 
 #define UC_FP_XSTATE	0x1	/* indicates the presence of extended state
 				 * information in the memory layout pointed
@@ -15,4 +15,4 @@
 	sigset_t	  uc_sigmask;	/* mask last for extensibility */
 };
 
-#endif /* ASM_X86__UCONTEXT_H */
+#endif /* _ASM_X86_UCONTEXT_H */
diff --git a/include/asm-x86/unaligned.h b/arch/x86/include/asm/unaligned.h
similarity index 69%
rename from include/asm-x86/unaligned.h
rename to arch/x86/include/asm/unaligned.h
index 59dcdec..a7bd416 100644
--- a/include/asm-x86/unaligned.h
+++ b/arch/x86/include/asm/unaligned.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UNALIGNED_H
-#define ASM_X86__UNALIGNED_H
+#ifndef _ASM_X86_UNALIGNED_H
+#define _ASM_X86_UNALIGNED_H
 
 /*
  * The x86 can do unaligned accesses itself.
@@ -11,4 +11,4 @@
 #define get_unaligned __get_unaligned_le
 #define put_unaligned __put_unaligned_le
 
-#endif /* ASM_X86__UNALIGNED_H */
+#endif /* _ASM_X86_UNALIGNED_H */
diff --git a/include/asm-x86/unistd.h b/arch/x86/include/asm/unistd.h
similarity index 100%
rename from include/asm-x86/unistd.h
rename to arch/x86/include/asm/unistd.h
diff --git a/include/asm-x86/unistd_32.h b/arch/x86/include/asm/unistd_32.h
similarity index 98%
rename from include/asm-x86/unistd_32.h
rename to arch/x86/include/asm/unistd_32.h
index 017f4a8..f2bba78 100644
--- a/include/asm-x86/unistd_32.h
+++ b/arch/x86/include/asm/unistd_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UNISTD_32_H
-#define ASM_X86__UNISTD_32_H
+#ifndef _ASM_X86_UNISTD_32_H
+#define _ASM_X86_UNISTD_32_H
 
 /*
  * This file contains the system call numbers.
@@ -376,4 +376,4 @@
 #endif
 
 #endif /* __KERNEL__ */
-#endif /* ASM_X86__UNISTD_32_H */
+#endif /* _ASM_X86_UNISTD_32_H */
diff --git a/include/asm-x86/unistd_64.h b/arch/x86/include/asm/unistd_64.h
similarity index 99%
rename from include/asm-x86/unistd_64.h
rename to arch/x86/include/asm/unistd_64.h
index ace83f1..834b2c1 100644
--- a/include/asm-x86/unistd_64.h
+++ b/arch/x86/include/asm/unistd_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UNISTD_64_H
-#define ASM_X86__UNISTD_64_H
+#ifndef _ASM_X86_UNISTD_64_H
+#define _ASM_X86_UNISTD_64_H
 
 #ifndef __SYSCALL
 #define __SYSCALL(a, b)
@@ -690,4 +690,4 @@
 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
 #endif	/* __KERNEL__ */
 
-#endif /* ASM_X86__UNISTD_64_H */
+#endif /* _ASM_X86_UNISTD_64_H */
diff --git a/include/asm-x86/unwind.h b/arch/x86/include/asm/unwind.h
similarity index 70%
rename from include/asm-x86/unwind.h
rename to arch/x86/include/asm/unwind.h
index a215156..8b064bd 100644
--- a/include/asm-x86/unwind.h
+++ b/arch/x86/include/asm/unwind.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UNWIND_H
-#define ASM_X86__UNWIND_H
+#ifndef _ASM_X86_UNWIND_H
+#define _ASM_X86_UNWIND_H
 
 #define UNW_PC(frame) ((void)(frame), 0UL)
 #define UNW_SP(frame) ((void)(frame), 0UL)
@@ -10,4 +10,4 @@
 	return 0;
 }
 
-#endif /* ASM_X86__UNWIND_H */
+#endif /* _ASM_X86_UNWIND_H */
diff --git a/include/asm-x86/user.h b/arch/x86/include/asm/user.h
similarity index 100%
rename from include/asm-x86/user.h
rename to arch/x86/include/asm/user.h
diff --git a/include/asm-x86/user32.h b/arch/x86/include/asm/user32.h
similarity index 95%
rename from include/asm-x86/user32.h
rename to arch/x86/include/asm/user32.h
index aa66c18..14cbb73 100644
--- a/include/asm-x86/user32.h
+++ b/arch/x86/include/asm/user32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__USER32_H
-#define ASM_X86__USER32_H
+#ifndef _ASM_X86_USER32_H
+#define _ASM_X86_USER32_H
 
 /* IA32 compatible user structures for ptrace.
  * These should be used for 32bit coredumps too. */
@@ -67,4 +67,4 @@
 };
 
 
-#endif /* ASM_X86__USER32_H */
+#endif /* _ASM_X86_USER32_H */
diff --git a/include/asm-x86/user_32.h b/arch/x86/include/asm/user_32.h
similarity index 97%
rename from include/asm-x86/user_32.h
rename to arch/x86/include/asm/user_32.h
index e0fe2f5..bebfd86 100644
--- a/include/asm-x86/user_32.h
+++ b/arch/x86/include/asm/user_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__USER_32_H
-#define ASM_X86__USER_32_H
+#ifndef _ASM_X86_USER_32_H
+#define _ASM_X86_USER_32_H
 
 #include <asm/page.h>
 /* Core file format: The core file is written in such a way that gdb
@@ -128,4 +128,4 @@
 #define HOST_TEXT_START_ADDR (u.start_code)
 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
 
-#endif /* ASM_X86__USER_32_H */
+#endif /* _ASM_X86_USER_32_H */
diff --git a/include/asm-x86/user_64.h b/arch/x86/include/asm/user_64.h
similarity index 97%
rename from include/asm-x86/user_64.h
rename to arch/x86/include/asm/user_64.h
index 38b5799..faf2cd3 100644
--- a/include/asm-x86/user_64.h
+++ b/arch/x86/include/asm/user_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__USER_64_H
-#define ASM_X86__USER_64_H
+#ifndef _ASM_X86_USER_64_H
+#define _ASM_X86_USER_64_H
 
 #include <asm/types.h>
 #include <asm/page.h>
@@ -134,4 +134,4 @@
 #define HOST_TEXT_START_ADDR (u.start_code)
 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
 
-#endif /* ASM_X86__USER_64_H */
+#endif /* _ASM_X86_USER_64_H */
diff --git a/include/asm-x86/uv/bios.h b/arch/x86/include/asm/uv/bios.h
similarity index 96%
rename from include/asm-x86/uv/bios.h
rename to arch/x86/include/asm/uv/bios.h
index 215f196..d931d3b 100644
--- a/include/asm-x86/uv/bios.h
+++ b/arch/x86/include/asm/uv/bios.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__UV__BIOS_H
-#define ASM_X86__UV__BIOS_H
+#ifndef _ASM_X86_UV_BIOS_H
+#define _ASM_X86_UV_BIOS_H
 
 /*
  * UV BIOS layer definitions.
@@ -91,4 +91,4 @@
 
 extern struct kobject *sgi_uv_kobj;	/* /sys/firmware/sgi_uv */
 
-#endif /* ASM_X86__UV__BIOS_H */
+#endif /* _ASM_X86_UV_BIOS_H */
diff --git a/include/asm-x86/uv/uv_bau.h b/arch/x86/include/asm/uv/uv_bau.h
similarity index 98%
rename from include/asm-x86/uv/uv_bau.h
rename to arch/x86/include/asm/uv/uv_bau.h
index 77153fb..e236325 100644
--- a/include/asm-x86/uv/uv_bau.h
+++ b/arch/x86/include/asm/uv/uv_bau.h
@@ -8,8 +8,8 @@
  * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
  */
 
-#ifndef ASM_X86__UV__UV_BAU_H
-#define ASM_X86__UV__UV_BAU_H
+#ifndef _ASM_X86_UV_UV_BAU_H
+#define _ASM_X86_UV_UV_BAU_H
 
 #include <linux/bitmap.h>
 #define BITSPERBYTE 8
@@ -329,4 +329,4 @@
 extern void uv_bau_message_intr1(void);
 extern void uv_bau_timeout_intr1(void);
 
-#endif /* ASM_X86__UV__UV_BAU_H */
+#endif /* _ASM_X86_UV_UV_BAU_H */
diff --git a/include/asm-x86/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h
similarity index 98%
rename from include/asm-x86/uv/uv_hub.h
rename to arch/x86/include/asm/uv/uv_hub.h
index bdb5b01..c6ad93e 100644
--- a/include/asm-x86/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -8,8 +8,8 @@
  * Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved.
  */
 
-#ifndef ASM_X86__UV__UV_HUB_H
-#define ASM_X86__UV__UV_HUB_H
+#ifndef _ASM_X86_UV_UV_HUB_H
+#define _ASM_X86_UV_UV_HUB_H
 
 #include <linux/numa.h>
 #include <linux/percpu.h>
@@ -350,5 +350,5 @@
 	return uv_possible_blades;
 }
 
-#endif /* ASM_X86__UV__UV_HUB_H */
+#endif /* _ASM_X86_UV_UV_HUB_H */
 
diff --git a/include/asm-x86/uv/uv_irq.h b/arch/x86/include/asm/uv/uv_irq.h
similarity index 89%
rename from include/asm-x86/uv/uv_irq.h
rename to arch/x86/include/asm/uv/uv_irq.h
index 8bf5f32..9613c8c 100644
--- a/include/asm-x86/uv/uv_irq.h
+++ b/arch/x86/include/asm/uv/uv_irq.h
@@ -8,8 +8,8 @@
  * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
  */
 
-#ifndef ASM_X86__UV__UV_IRQ_H
-#define ASM_X86__UV__UV_IRQ_H
+#ifndef _ASM_X86_UV_UV_IRQ_H
+#define _ASM_X86_UV_UV_IRQ_H
 
 /* If a generic version of this structure gets defined, eliminate this one. */
 struct uv_IO_APIC_route_entry {
@@ -33,4 +33,4 @@
 extern int uv_setup_irq(char *, int, int, unsigned long);
 extern void uv_teardown_irq(unsigned int, int, unsigned long);
 
-#endif /* ASM_X86__UV__UV_IRQ_H */
+#endif /* _ASM_X86_UV_UV_IRQ_H */
diff --git a/include/asm-x86/uv/uv_mmrs.h b/arch/x86/include/asm/uv/uv_mmrs.h
similarity index 99%
rename from include/asm-x86/uv/uv_mmrs.h
rename to arch/x86/include/asm/uv/uv_mmrs.h
index 8b03d89..dd62779 100644
--- a/include/asm-x86/uv/uv_mmrs.h
+++ b/arch/x86/include/asm/uv/uv_mmrs.h
@@ -8,8 +8,8 @@
  * Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved.
  */
 
-#ifndef ASM_X86__UV__UV_MMRS_H
-#define ASM_X86__UV__UV_MMRS_H
+#ifndef _ASM_X86_UV_UV_MMRS_H
+#define _ASM_X86_UV_UV_MMRS_H
 
 #define UV_MMR_ENABLE		(1UL << 63)
 
@@ -1292,4 +1292,4 @@
 };
 
 
-#endif /* ASM_X86__UV__UV_MMRS_H */
+#endif /* _ASM_X86_UV_UV_MMRS_H */
diff --git a/include/asm-x86/vdso.h b/arch/x86/include/asm/vdso.h
similarity index 93%
rename from include/asm-x86/vdso.h
rename to arch/x86/include/asm/vdso.h
index 4ab3209..9064052 100644
--- a/include/asm-x86/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VDSO_H
-#define ASM_X86__VDSO_H
+#ifndef _ASM_X86_VDSO_H
+#define _ASM_X86_VDSO_H
 
 #ifdef CONFIG_X86_64
 extern const char VDSO64_PRELINK[];
@@ -44,4 +44,4 @@
 extern const char vdso32_syscall_start, vdso32_syscall_end;
 extern const char vdso32_sysenter_start, vdso32_sysenter_end;
 
-#endif /* ASM_X86__VDSO_H */
+#endif /* _ASM_X86_VDSO_H */
diff --git a/include/asm-x86/vga.h b/arch/x86/include/asm/vga.h
similarity index 81%
rename from include/asm-x86/vga.h
rename to arch/x86/include/asm/vga.h
index b9e493d..c4b9dc2 100644
--- a/include/asm-x86/vga.h
+++ b/arch/x86/include/asm/vga.h
@@ -4,8 +4,8 @@
  *	(c) 1998 Martin Mares <mj@ucw.cz>
  */
 
-#ifndef ASM_X86__VGA_H
-#define ASM_X86__VGA_H
+#ifndef _ASM_X86_VGA_H
+#define _ASM_X86_VGA_H
 
 /*
  *	On the PC, we can just recalculate addresses and then
@@ -17,4 +17,4 @@
 #define vga_readb(x) (*(x))
 #define vga_writeb(x, y) (*(y) = (x))
 
-#endif /* ASM_X86__VGA_H */
+#endif /* _ASM_X86_VGA_H */
diff --git a/include/asm-x86/vgtod.h b/arch/x86/include/asm/vgtod.h
similarity index 87%
rename from include/asm-x86/vgtod.h
rename to arch/x86/include/asm/vgtod.h
index 38fd133..dc27a69 100644
--- a/include/asm-x86/vgtod.h
+++ b/arch/x86/include/asm/vgtod.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VGTOD_H
-#define ASM_X86__VGTOD_H
+#ifndef _ASM_X86_VGTOD_H
+#define _ASM_X86_VGTOD_H
 
 #include <asm/vsyscall.h>
 #include <linux/clocksource.h>
@@ -26,4 +26,4 @@
 __section_vsyscall_gtod_data;
 extern struct vsyscall_gtod_data vsyscall_gtod_data;
 
-#endif /* ASM_X86__VGTOD_H */
+#endif /* _ASM_X86_VGTOD_H */
diff --git a/include/asm-x86/vic.h b/arch/x86/include/asm/vic.h
similarity index 100%
rename from include/asm-x86/vic.h
rename to arch/x86/include/asm/vic.h
diff --git a/include/asm-x86/visws/cobalt.h b/arch/x86/include/asm/visws/cobalt.h
similarity index 96%
rename from include/asm-x86/visws/cobalt.h
rename to arch/x86/include/asm/visws/cobalt.h
index 9627a8f..166adf6 100644
--- a/include/asm-x86/visws/cobalt.h
+++ b/arch/x86/include/asm/visws/cobalt.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VISWS__COBALT_H
-#define ASM_X86__VISWS__COBALT_H
+#ifndef _ASM_X86_VISWS_COBALT_H
+#define _ASM_X86_VISWS_COBALT_H
 
 #include <asm/fixmap.h>
 
@@ -122,4 +122,4 @@
 
 extern char visws_board_rev;
 
-#endif /* ASM_X86__VISWS__COBALT_H */
+#endif /* _ASM_X86_VISWS_COBALT_H */
diff --git a/include/asm-x86/visws/lithium.h b/arch/x86/include/asm/visws/lithium.h
similarity index 91%
rename from include/asm-x86/visws/lithium.h
rename to arch/x86/include/asm/visws/lithium.h
index b36d3b3..a10d89b 100644
--- a/include/asm-x86/visws/lithium.h
+++ b/arch/x86/include/asm/visws/lithium.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VISWS__LITHIUM_H
-#define ASM_X86__VISWS__LITHIUM_H
+#ifndef _ASM_X86_VISWS_LITHIUM_H
+#define _ASM_X86_VISWS_LITHIUM_H
 
 #include <asm/fixmap.h>
 
@@ -49,5 +49,5 @@
 	return *((volatile unsigned short *)(LI_PCIB_VADDR+reg));
 }
 
-#endif /* ASM_X86__VISWS__LITHIUM_H */
+#endif /* _ASM_X86_VISWS_LITHIUM_H */
 
diff --git a/include/asm-x86/visws/piix4.h b/arch/x86/include/asm/visws/piix4.h
similarity index 95%
rename from include/asm-x86/visws/piix4.h
rename to arch/x86/include/asm/visws/piix4.h
index 61c9380..d0af4d3 100644
--- a/include/asm-x86/visws/piix4.h
+++ b/arch/x86/include/asm/visws/piix4.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VISWS__PIIX4_H
-#define ASM_X86__VISWS__PIIX4_H
+#ifndef _ASM_X86_VISWS_PIIX4_H
+#define _ASM_X86_VISWS_PIIX4_H
 
 /*
  * PIIX4 as used on SGI Visual Workstations
@@ -104,4 +104,4 @@
  */
 #define	PIIX_GPI_STPCLK		0x4	// STPCLK signal routed back in
 
-#endif /* ASM_X86__VISWS__PIIX4_H */
+#endif /* _ASM_X86_VISWS_PIIX4_H */
diff --git a/include/asm-x86/visws/sgivw.h b/arch/x86/include/asm/visws/sgivw.h
similarity index 100%
rename from include/asm-x86/visws/sgivw.h
rename to arch/x86/include/asm/visws/sgivw.h
diff --git a/include/asm-x86/vm86.h b/arch/x86/include/asm/vm86.h
similarity index 98%
rename from include/asm-x86/vm86.h
rename to arch/x86/include/asm/vm86.h
index 998bd18..f930360 100644
--- a/include/asm-x86/vm86.h
+++ b/arch/x86/include/asm/vm86.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VM86_H
-#define ASM_X86__VM86_H
+#ifndef _ASM_X86_VM86_H
+#define _ASM_X86_VM86_H
 
 /*
  * I'm guessing at the VIF/VIP flag usage, but hope that this is how
@@ -205,4 +205,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__VM86_H */
+#endif /* _ASM_X86_VM86_H */
diff --git a/include/asm-x86/vmi.h b/arch/x86/include/asm/vmi.h
similarity index 100%
rename from include/asm-x86/vmi.h
rename to arch/x86/include/asm/vmi.h
diff --git a/include/asm-x86/vmi_time.h b/arch/x86/include/asm/vmi_time.h
similarity index 96%
rename from include/asm-x86/vmi_time.h
rename to arch/x86/include/asm/vmi_time.h
index b2d39e6..c6e0bee 100644
--- a/include/asm-x86/vmi_time.h
+++ b/arch/x86/include/asm/vmi_time.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef ASM_X86__VMI_TIME_H
-#define ASM_X86__VMI_TIME_H
+#ifndef _ASM_X86_VMI_TIME_H
+#define _ASM_X86_VMI_TIME_H
 
 /*
  * Raw VMI call indices for timer functions
@@ -95,4 +95,4 @@
 
 #define CONFIG_VMI_ALARM_HZ	100
 
-#endif /* ASM_X86__VMI_TIME_H */
+#endif /* _ASM_X86_VMI_TIME_H */
diff --git a/include/asm-x86/voyager.h b/arch/x86/include/asm/voyager.h
similarity index 100%
rename from include/asm-x86/voyager.h
rename to arch/x86/include/asm/voyager.h
diff --git a/include/asm-x86/vsyscall.h b/arch/x86/include/asm/vsyscall.h
similarity index 92%
rename from include/asm-x86/vsyscall.h
rename to arch/x86/include/asm/vsyscall.h
index dcd4682..d0983d2 100644
--- a/include/asm-x86/vsyscall.h
+++ b/arch/x86/include/asm/vsyscall.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__VSYSCALL_H
-#define ASM_X86__VSYSCALL_H
+#ifndef _ASM_X86_VSYSCALL_H
+#define _ASM_X86_VSYSCALL_H
 
 enum vsyscall_num {
 	__NR_vgettimeofday,
@@ -41,4 +41,4 @@
 
 #endif /* __KERNEL__ */
 
-#endif /* ASM_X86__VSYSCALL_H */
+#endif /* _ASM_X86_VSYSCALL_H */
diff --git a/include/asm-x86/xcr.h b/arch/x86/include/asm/xcr.h
similarity index 100%
rename from include/asm-x86/xcr.h
rename to arch/x86/include/asm/xcr.h
diff --git a/include/asm-x86/xen/events.h b/arch/x86/include/asm/xen/events.h
similarity index 78%
rename from include/asm-x86/xen/events.h
rename to arch/x86/include/asm/xen/events.h
index 8151f5b..1914418 100644
--- a/include/asm-x86/xen/events.h
+++ b/arch/x86/include/asm/xen/events.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__XEN__EVENTS_H
-#define ASM_X86__XEN__EVENTS_H
+#ifndef _ASM_X86_XEN_EVENTS_H
+#define _ASM_X86_XEN_EVENTS_H
 
 enum ipi_vector {
 	XEN_RESCHEDULE_VECTOR,
@@ -21,4 +21,4 @@
 	do_IRQ(regs);
 }
 
-#endif /* ASM_X86__XEN__EVENTS_H */
+#endif /* _ASM_X86_XEN_EVENTS_H */
diff --git a/arch/x86/include/asm/xen/grant_table.h b/arch/x86/include/asm/xen/grant_table.h
new file mode 100644
index 0000000..fdbbb45
--- /dev/null
+++ b/arch/x86/include/asm/xen/grant_table.h
@@ -0,0 +1,7 @@
+#ifndef _ASM_X86_XEN_GRANT_TABLE_H
+#define _ASM_X86_XEN_GRANT_TABLE_H
+
+#define xen_alloc_vm_area(size)	alloc_vm_area(size)
+#define xen_free_vm_area(area)	free_vm_area(area)
+
+#endif /* _ASM_X86_XEN_GRANT_TABLE_H */
diff --git a/include/asm-x86/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h
similarity index 98%
rename from include/asm-x86/xen/hypercall.h
rename to arch/x86/include/asm/xen/hypercall.h
index 44f4259..3f6000d 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -30,8 +30,8 @@
  * IN THE SOFTWARE.
  */
 
-#ifndef ASM_X86__XEN__HYPERCALL_H
-#define ASM_X86__XEN__HYPERCALL_H
+#ifndef _ASM_X86_XEN_HYPERCALL_H
+#define _ASM_X86_XEN_HYPERCALL_H
 
 #include <linux/errno.h>
 #include <linux/string.h>
@@ -524,4 +524,4 @@
 	mcl->args[1] = esp;
 }
 
-#endif /* ASM_X86__XEN__HYPERCALL_H */
+#endif /* _ASM_X86_XEN_HYPERCALL_H */
diff --git a/include/asm-x86/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
similarity index 95%
rename from include/asm-x86/xen/hypervisor.h
rename to arch/x86/include/asm/xen/hypervisor.h
index 445a247..a38d25a 100644
--- a/include/asm-x86/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -30,8 +30,8 @@
  * IN THE SOFTWARE.
  */
 
-#ifndef ASM_X86__XEN__HYPERVISOR_H
-#define ASM_X86__XEN__HYPERVISOR_H
+#ifndef _ASM_X86_XEN_HYPERVISOR_H
+#define _ASM_X86_XEN_HYPERVISOR_H
 
 #include <linux/types.h>
 #include <linux/kernel.h>
@@ -79,4 +79,4 @@
 #define xen_initial_domain()	(xen_pv_domain() && xen_start_info->flags & SIF_INITDOMAIN)
 #define xen_hvm_domain()	(xen_domain_type == XEN_HVM_DOMAIN)
 
-#endif /* ASM_X86__XEN__HYPERVISOR_H */
+#endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/include/asm-x86/xen/interface.h b/arch/x86/include/asm/xen/interface.h
similarity index 97%
rename from include/asm-x86/xen/interface.h
rename to arch/x86/include/asm/xen/interface.h
index d077bba..e8506c1 100644
--- a/include/asm-x86/xen/interface.h
+++ b/arch/x86/include/asm/xen/interface.h
@@ -6,8 +6,8 @@
  * Copyright (c) 2004, K A Fraser
  */
 
-#ifndef ASM_X86__XEN__INTERFACE_H
-#define ASM_X86__XEN__INTERFACE_H
+#ifndef _ASM_X86_XEN_INTERFACE_H
+#define _ASM_X86_XEN_INTERFACE_H
 
 #ifdef __XEN__
 #define __DEFINE_GUEST_HANDLE(name, type) \
@@ -172,4 +172,4 @@
 #define XEN_CPUID          XEN_EMULATE_PREFIX "cpuid"
 #endif
 
-#endif /* ASM_X86__XEN__INTERFACE_H */
+#endif /* _ASM_X86_XEN_INTERFACE_H */
diff --git a/include/asm-x86/xen/interface_32.h b/arch/x86/include/asm/xen/interface_32.h
similarity index 95%
rename from include/asm-x86/xen/interface_32.h
rename to arch/x86/include/asm/xen/interface_32.h
index 08167e1..42a7e00 100644
--- a/include/asm-x86/xen/interface_32.h
+++ b/arch/x86/include/asm/xen/interface_32.h
@@ -6,8 +6,8 @@
  * Copyright (c) 2004, K A Fraser
  */
 
-#ifndef ASM_X86__XEN__INTERFACE_32_H
-#define ASM_X86__XEN__INTERFACE_32_H
+#ifndef _ASM_X86_XEN_INTERFACE_32_H
+#define _ASM_X86_XEN_INTERFACE_32_H
 
 
 /*
@@ -94,4 +94,4 @@
 #define xen_pfn_to_cr3(pfn) (((unsigned)(pfn) << 12) | ((unsigned)(pfn) >> 20))
 #define xen_cr3_to_pfn(cr3) (((unsigned)(cr3) >> 12) | ((unsigned)(cr3) << 20))
 
-#endif /* ASM_X86__XEN__INTERFACE_32_H */
+#endif /* _ASM_X86_XEN_INTERFACE_32_H */
diff --git a/include/asm-x86/xen/interface_64.h b/arch/x86/include/asm/xen/interface_64.h
similarity index 97%
rename from include/asm-x86/xen/interface_64.h
rename to arch/x86/include/asm/xen/interface_64.h
index 046c0f1..100d266 100644
--- a/include/asm-x86/xen/interface_64.h
+++ b/arch/x86/include/asm/xen/interface_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__XEN__INTERFACE_64_H
-#define ASM_X86__XEN__INTERFACE_64_H
+#ifndef _ASM_X86_XEN_INTERFACE_64_H
+#define _ASM_X86_XEN_INTERFACE_64_H
 
 /*
  * 64-bit segment selectors
@@ -156,4 +156,4 @@
 #endif /* !__ASSEMBLY__ */
 
 
-#endif /* ASM_X86__XEN__INTERFACE_64_H */
+#endif /* _ASM_X86_XEN_INTERFACE_64_H */
diff --git a/include/asm-x86/xen/page.h b/arch/x86/include/asm/xen/page.h
similarity index 97%
rename from include/asm-x86/xen/page.h
rename to arch/x86/include/asm/xen/page.h
index d5eada0..bc62899 100644
--- a/include/asm-x86/xen/page.h
+++ b/arch/x86/include/asm/xen/page.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__XEN__PAGE_H
-#define ASM_X86__XEN__PAGE_H
+#ifndef _ASM_X86_XEN_PAGE_H
+#define _ASM_X86_XEN_PAGE_H
 
 #include <linux/pfn.h>
 
@@ -162,4 +162,4 @@
 void make_lowmem_page_readonly(void *vaddr);
 void make_lowmem_page_readwrite(void *vaddr);
 
-#endif /* ASM_X86__XEN__PAGE_H */
+#endif /* _ASM_X86_XEN_PAGE_H */
diff --git a/include/asm-x86/xor.h b/arch/x86/include/asm/xor.h
similarity index 100%
rename from include/asm-x86/xor.h
rename to arch/x86/include/asm/xor.h
diff --git a/include/asm-x86/xor_32.h b/arch/x86/include/asm/xor_32.h
similarity index 99%
rename from include/asm-x86/xor_32.h
rename to arch/x86/include/asm/xor_32.h
index 921b458..133b40a 100644
--- a/include/asm-x86/xor_32.h
+++ b/arch/x86/include/asm/xor_32.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__XOR_32_H
-#define ASM_X86__XOR_32_H
+#ifndef _ASM_X86_XOR_32_H
+#define _ASM_X86_XOR_32_H
 
 /*
  * Optimized RAID-5 checksumming functions for MMX and SSE.
@@ -885,4 +885,4 @@
 #define XOR_SELECT_TEMPLATE(FASTEST)			\
 	(cpu_has_xmm ? &xor_block_pIII_sse : FASTEST)
 
-#endif /* ASM_X86__XOR_32_H */
+#endif /* _ASM_X86_XOR_32_H */
diff --git a/include/asm-x86/xor_64.h b/arch/x86/include/asm/xor_64.h
similarity index 98%
rename from include/asm-x86/xor_64.h
rename to arch/x86/include/asm/xor_64.h
index 2d3a18d..1549b5e 100644
--- a/include/asm-x86/xor_64.h
+++ b/arch/x86/include/asm/xor_64.h
@@ -1,5 +1,5 @@
-#ifndef ASM_X86__XOR_64_H
-#define ASM_X86__XOR_64_H
+#ifndef _ASM_X86_XOR_64_H
+#define _ASM_X86_XOR_64_H
 
 /*
  * Optimized RAID-5 checksumming functions for MMX and SSE.
@@ -358,4 +358,4 @@
    deals with a load to a line that is being prefetched.  */
 #define XOR_SELECT_TEMPLATE(FASTEST) (&xor_block_sse)
 
-#endif /* ASM_X86__XOR_64_H */
+#endif /* _ASM_X86_XOR_64_H */
diff --git a/include/asm-x86/xsave.h b/arch/x86/include/asm/xsave.h
similarity index 100%
rename from include/asm-x86/xsave.h
rename to arch/x86/include/asm/xsave.h
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c
index 505543a..7fcf63d 100644
--- a/arch/x86/kernel/asm-offsets_64.c
+++ b/arch/x86/kernel/asm-offsets_64.c
@@ -22,7 +22,7 @@
 
 #define __NO_STUBS 1
 #undef __SYSCALL
-#undef ASM_X86__UNISTD_64_H
+#undef _ASM_X86_UNISTD_64_H
 #define __SYSCALL(nr, sym) [nr] = 1,
 static char syscalls[] = {
 #include <asm/unistd.h>
diff --git a/arch/x86/kernel/cpu/Makefile b/arch/x86/kernel/cpu/Makefile
index 7f0b45a..82ec607 100644
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
@@ -25,7 +25,7 @@
 quiet_cmd_mkcapflags = MKCAP   $@
       cmd_mkcapflags = $(PERL) $(srctree)/$(src)/mkcapflags.pl $< $@
 
-cpufeature = $(src)/../../../../include/asm-x86/cpufeature.h
+cpufeature = $(src)/../../include/asm/cpufeature.h
 
 targets += capflags.c
 $(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.pl FORCE
diff --git a/arch/x86/kernel/syscall_64.c b/arch/x86/kernel/syscall_64.c
index 3d1be4f..de87d60 100644
--- a/arch/x86/kernel/syscall_64.c
+++ b/arch/x86/kernel/syscall_64.c
@@ -8,12 +8,12 @@
 #define __NO_STUBS
 
 #define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
-#undef ASM_X86__UNISTD_64_H
+#undef _ASM_X86_UNISTD_64_H
 #include <asm/unistd_64.h>
 
 #undef __SYSCALL
 #define __SYSCALL(nr, sym) [nr] = sym,
-#undef ASM_X86__UNISTD_64_H
+#undef _ASM_X86_UNISTD_64_H
 
 typedef void (*sys_call_ptr_t)(void);
 
diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c
index 565280ec..974f56d 100644
--- a/drivers/xen/cpu_hotplug.c
+++ b/drivers/xen/cpu_hotplug.c
@@ -2,7 +2,7 @@
 
 #include <xen/xenbus.h>
 
-#include <asm-x86/xen/hypervisor.h>
+#include <asm/xen/hypervisor.h>
 #include <asm/cpu.h>
 
 static void enable_hotplug_cpu(int cpu)
diff --git a/include/asm-um/a.out.h b/include/asm-um/a.out.h
deleted file mode 100644
index 754181e..0000000
--- a/include/asm-um/a.out.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright (C) 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- * Licensed under the GPL
- */
-
-#ifndef __UM_A_OUT_H
-#define __UM_A_OUT_H
-
-#include "asm/arch/a.out.h"
-
-#endif
diff --git a/include/asm-um/alternative-asm.h b/include/asm-um/alternative-asm.h
deleted file mode 100644
index 9aa9fa2..0000000
--- a/include/asm-um/alternative-asm.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_ALTERNATIVE_ASM_I
-#define __UM_ALTERNATIVE_ASM_I
-
-#include "asm/arch/alternative-asm.h"
-
-#endif
diff --git a/include/asm-um/alternative.h b/include/asm-um/alternative.h
deleted file mode 100644
index b643439..0000000
--- a/include/asm-um/alternative.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_ALTERNATIVE_H
-#define __UM_ALTERNATIVE_H
-
-#include "asm/arch/alternative.h"
-
-#endif
diff --git a/include/asm-um/asm.h b/include/asm-um/asm.h
deleted file mode 100644
index af1269a..0000000
--- a/include/asm-um/asm.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_ASM_H
-#define __UM_ASM_H
-
-#include "asm/arch/asm.h"
-
-#endif
diff --git a/include/asm-um/atomic.h b/include/asm-um/atomic.h
deleted file mode 100644
index b683f10..0000000
--- a/include/asm-um/atomic.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __UM_ATOMIC_H
-#define __UM_ATOMIC_H
-
-/* The i386 atomic.h calls printk, but doesn't include kernel.h, so we
- * include it here.
- */
-#include "linux/kernel.h"
-
-#include "asm/arch/atomic.h"
-
-#endif
diff --git a/include/asm-um/bitops.h b/include/asm-um/bitops.h
deleted file mode 100644
index e4d38d4..0000000
--- a/include/asm-um/bitops.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __UM_BITOPS_H
-#define __UM_BITOPS_H
-
-#ifndef _LINUX_BITOPS_H
-#error only <linux/bitops.h> can be included directly
-#endif
-
-#include "asm/arch/bitops.h"
-
-#endif
diff --git a/include/asm-um/boot.h b/include/asm-um/boot.h
deleted file mode 100644
index 09548c3..0000000
--- a/include/asm-um/boot.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_BOOT_H
-#define __UM_BOOT_H
-
-#include "asm/arch/boot.h"
-
-#endif
diff --git a/include/asm-um/bug.h b/include/asm-um/bug.h
deleted file mode 100644
index 9e33b86..0000000
--- a/include/asm-um/bug.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_BUG_H
-#define __UM_BUG_H
-
-#include <asm-generic/bug.h>
-
-#endif
diff --git a/include/asm-um/byteorder.h b/include/asm-um/byteorder.h
deleted file mode 100644
index eee0a83..0000000
--- a/include/asm-um/byteorder.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_BYTEORDER_H
-#define __UM_BYTEORDER_H
-
-#include "asm/arch/byteorder.h"
-
-#endif
diff --git a/include/asm-um/cacheflush.h b/include/asm-um/cacheflush.h
deleted file mode 100644
index 12e9d4b..0000000
--- a/include/asm-um/cacheflush.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_CACHEFLUSH_H
-#define __UM_CACHEFLUSH_H
-
-#include "asm/arch/cacheflush.h"
-
-#endif
diff --git a/include/asm-um/calling.h b/include/asm-um/calling.h
deleted file mode 100644
index 0b2384c..0000000
--- a/include/asm-um/calling.h
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2003 - 2004 Pathscale, Inc
-# Released under the GPL
-
-#ifndef __UM_CALLING_H /* XXX x86_64 */
-#define __UM_CALLING_H
-
-#include "asm/arch/calling.h"
-
-#endif
diff --git a/include/asm-um/cmpxchg.h b/include/asm-um/cmpxchg.h
deleted file mode 100644
index 529376a..0000000
--- a/include/asm-um/cmpxchg.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_CMPXCHG_H
-#define __UM_CMPXCHG_H
-
-#include "asm/arch/cmpxchg.h"
-
-#endif
diff --git a/include/asm-um/cobalt.h b/include/asm-um/cobalt.h
deleted file mode 100644
index f813a68..0000000
--- a/include/asm-um/cobalt.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_COBALT_H
-#define __UM_COBALT_H
-
-#include "asm/arch/cobalt.h"
-
-#endif
diff --git a/include/asm-um/cpufeature.h b/include/asm-um/cpufeature.h
deleted file mode 100644
index fb7bd42..0000000
--- a/include/asm-um/cpufeature.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_CPUFEATURE_H
-#define __UM_CPUFEATURE_H
-
-#include "asm/arch/cpufeature.h"
-
-#endif
diff --git a/include/asm-um/div64.h b/include/asm-um/div64.h
deleted file mode 100644
index 1e17f74..0000000
--- a/include/asm-um/div64.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _UM_DIV64_H
-#define _UM_DIV64_H
-
-#include "asm/arch/div64.h"
-
-#endif
diff --git a/include/asm-um/dwarf2.h b/include/asm-um/dwarf2.h
deleted file mode 100644
index d1a02e7..0000000
--- a/include/asm-um/dwarf2.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright 2003 - 2004 Pathscale, Inc
- * Released under the GPL
- */
-
-/* Needed on x86_64 by thunk.S */
-#ifndef __UM_DWARF2_H
-#define __UM_DWARF2_H
-
-#include "asm/arch/dwarf2.h"
-
-#endif
diff --git a/include/asm-um/errno.h b/include/asm-um/errno.h
deleted file mode 100644
index b7a9e37..0000000
--- a/include/asm-um/errno.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_ERRNO_H
-#define __UM_ERRNO_H
-
-#include "asm/arch/errno.h"
-
-#endif
diff --git a/include/asm-um/fcntl.h b/include/asm-um/fcntl.h
deleted file mode 100644
index 812a654..0000000
--- a/include/asm-um/fcntl.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_FCNTL_H
-#define __UM_FCNTL_H
-
-#include "asm/arch/fcntl.h"
-
-#endif
diff --git a/include/asm-um/floppy.h b/include/asm-um/floppy.h
deleted file mode 100644
index 453e741..0000000
--- a/include/asm-um/floppy.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_FLOPPY_H
-#define __UM_FLOPPY_H
-
-#include "asm/arch/floppy.h"
-
-#endif
diff --git a/include/asm-um/frame.h b/include/asm-um/frame.h
deleted file mode 100644
index 8a8c1cb..0000000
--- a/include/asm-um/frame.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_FRAME_I
-#define __UM_FRAME_I
-
-#include "asm/arch/frame.h"
-
-#endif
diff --git a/include/asm-um/highmem.h b/include/asm-um/highmem.h
deleted file mode 100644
index 36974cb..0000000
--- a/include/asm-um/highmem.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __UM_HIGHMEM_H
-#define __UM_HIGHMEM_H
-
-#include "asm/page.h"
-#include "asm/fixmap.h"
-#include "asm/arch/highmem.h"
-
-#undef PKMAP_BASE
-
-#define PKMAP_BASE ((FIXADDR_START - LAST_PKMAP * PAGE_SIZE) & PMD_MASK)
-
-#endif
diff --git a/include/asm-um/ide.h b/include/asm-um/ide.h
deleted file mode 100644
index 3d1cceb..0000000
--- a/include/asm-um/ide.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_IDE_H
-#define __UM_IDE_H
-
-#include "asm/arch/ide.h"
-
-#endif
diff --git a/include/asm-um/ioctl.h b/include/asm-um/ioctl.h
deleted file mode 100644
index cc22157..0000000
--- a/include/asm-um/ioctl.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_IOCTL_H
-#define __UM_IOCTL_H
-
-#include "asm/arch/ioctl.h"
-
-#endif
diff --git a/include/asm-um/ioctls.h b/include/asm-um/ioctls.h
deleted file mode 100644
index 9a1a017d..0000000
--- a/include/asm-um/ioctls.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_IOCTLS_H
-#define __UM_IOCTLS_H
-
-#include "asm/arch/ioctls.h"
-
-#endif
diff --git a/include/asm-um/ipcbuf.h b/include/asm-um/ipcbuf.h
deleted file mode 100644
index bb2ad31..0000000
--- a/include/asm-um/ipcbuf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_IPCBUF_H
-#define __UM_IPCBUF_H
-
-#include "asm/arch/ipcbuf.h"
-
-#endif
diff --git a/include/asm-um/linkage.h b/include/asm-um/linkage.h
deleted file mode 100644
index 7dfce37..0000000
--- a/include/asm-um/linkage.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_UM_LINKAGE_H
-#define __ASM_UM_LINKAGE_H
-
-#include "asm/arch/linkage.h"
-
-#endif
diff --git a/include/asm-um/local.h b/include/asm-um/local.h
deleted file mode 100644
index 9a280c5..0000000
--- a/include/asm-um/local.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_LOCAL_H
-#define __UM_LOCAL_H
-
-#include "asm/arch/local.h"
-
-#endif
diff --git a/include/asm-um/locks.h b/include/asm-um/locks.h
deleted file mode 100644
index f80030a..0000000
--- a/include/asm-um/locks.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_LOCKS_H
-#define __UM_LOCKS_H
-
-#include "asm/arch/locks.h"
-
-#endif
diff --git a/include/asm-um/mca_dma.h b/include/asm-um/mca_dma.h
deleted file mode 100644
index e492e4e..0000000
--- a/include/asm-um/mca_dma.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef mca___UM_DMA_H
-#define mca___UM_DMA_H
-
-#include "asm/arch/mca_dma.h"
-
-#endif
diff --git a/include/asm-um/mman.h b/include/asm-um/mman.h
deleted file mode 100644
index b09ed52..0000000
--- a/include/asm-um/mman.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_MMAN_H
-#define __UM_MMAN_H
-
-#include "asm/arch/mman.h"
-
-#endif
diff --git a/include/asm-um/module-generic.h b/include/asm-um/module-generic.h
deleted file mode 100644
index 5a265f5..0000000
--- a/include/asm-um/module-generic.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_MODULE_GENERIC_H
-#define __UM_MODULE_GENERIC_H
-
-#include "asm/arch/module.h"
-
-#endif
diff --git a/include/asm-um/msgbuf.h b/include/asm-um/msgbuf.h
deleted file mode 100644
index 8ce8c30..0000000
--- a/include/asm-um/msgbuf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_MSGBUF_H
-#define __UM_MSGBUF_H
-
-#include "asm/arch/msgbuf.h"
-
-#endif
diff --git a/include/asm-um/mtrr.h b/include/asm-um/mtrr.h
deleted file mode 100644
index 5e9cd12..0000000
--- a/include/asm-um/mtrr.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_MTRR_H
-#define __UM_MTRR_H
-
-#include "asm/arch/mtrr.h"
-
-#endif
diff --git a/include/asm-um/nops.h b/include/asm-um/nops.h
deleted file mode 100644
index 814e9bf..0000000
--- a/include/asm-um/nops.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_NOPS_H
-#define __UM_NOPS_H
-
-#include "asm/arch/nops.h"
-
-#endif
diff --git a/include/asm-um/paravirt.h b/include/asm-um/paravirt.h
deleted file mode 100644
index 9d6aaad..0000000
--- a/include/asm-um/paravirt.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_PARAVIRT_H
-#define __UM_PARAVIRT_H
-
-#include "asm/arch/paravirt.h"
-
-#endif
diff --git a/include/asm-um/percpu.h b/include/asm-um/percpu.h
deleted file mode 100644
index 5723e2a..0000000
--- a/include/asm-um/percpu.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_PERCPU_H
-#define __UM_PERCPU_H
-
-#include "asm/arch/percpu.h"
-
-#endif
diff --git a/include/asm-um/poll.h b/include/asm-um/poll.h
deleted file mode 100644
index 1eb4e1b..0000000
--- a/include/asm-um/poll.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_POLL_H
-#define __UM_POLL_H
-
-#include "asm/arch/poll.h"
-
-#endif
diff --git a/include/asm-um/posix_types.h b/include/asm-um/posix_types.h
deleted file mode 100644
index 32fb419..0000000
--- a/include/asm-um/posix_types.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_POSIX_TYPES_H
-#define __UM_POSIX_TYPES_H
-
-#include "asm/arch/posix_types.h"
-
-#endif
diff --git a/include/asm-um/prctl.h b/include/asm-um/prctl.h
deleted file mode 100644
index 64b6d09..0000000
--- a/include/asm-um/prctl.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_PRCTL_H
-#define __UM_PRCTL_H
-
-#include "asm/arch/prctl.h"
-
-#endif
diff --git a/include/asm-um/resource.h b/include/asm-um/resource.h
deleted file mode 100644
index c9b0740..0000000
--- a/include/asm-um/resource.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_RESOURCE_H
-#define __UM_RESOURCE_H
-
-#include "asm/arch/resource.h"
-
-#endif
diff --git a/include/asm-um/rwlock.h b/include/asm-um/rwlock.h
deleted file mode 100644
index ff383aa..0000000
--- a/include/asm-um/rwlock.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_RWLOCK_H
-#define __UM_RWLOCK_H
-
-#include "asm/arch/rwlock.h"
-
-#endif
diff --git a/include/asm-um/rwsem.h b/include/asm-um/rwsem.h
deleted file mode 100644
index b5fc449..0000000
--- a/include/asm-um/rwsem.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_RWSEM_H__
-#define __UM_RWSEM_H__
-
-#include "asm/arch/rwsem.h"
-
-#endif
diff --git a/include/asm-um/scatterlist.h b/include/asm-um/scatterlist.h
deleted file mode 100644
index e92016a..0000000
--- a/include/asm-um/scatterlist.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SCATTERLIST_H
-#define __UM_SCATTERLIST_H
-
-#include "asm/arch/scatterlist.h"
-
-#endif
diff --git a/include/asm-um/sembuf.h b/include/asm-um/sembuf.h
deleted file mode 100644
index 1ae82c1..0000000
--- a/include/asm-um/sembuf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SEMBUF_H
-#define __UM_SEMBUF_H
-
-#include "asm/arch/sembuf.h"
-
-#endif
diff --git a/include/asm-um/serial.h b/include/asm-um/serial.h
deleted file mode 100644
index 61ad07c..0000000
--- a/include/asm-um/serial.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SERIAL_H
-#define __UM_SERIAL_H
-
-#include "asm/arch/serial.h"
-
-#endif
diff --git a/include/asm-um/shmbuf.h b/include/asm-um/shmbuf.h
deleted file mode 100644
index 9684d4a..0000000
--- a/include/asm-um/shmbuf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SHMBUF_H
-#define __UM_SHMBUF_H
-
-#include "asm/arch/shmbuf.h"
-
-#endif
diff --git a/include/asm-um/shmparam.h b/include/asm-um/shmparam.h
deleted file mode 100644
index 124c001..0000000
--- a/include/asm-um/shmparam.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SHMPARAM_H
-#define __UM_SHMPARAM_H
-
-#include "asm/arch/shmparam.h"
-
-#endif
diff --git a/include/asm-um/sigcontext-generic.h b/include/asm-um/sigcontext-generic.h
deleted file mode 100644
index 1645870..0000000
--- a/include/asm-um/sigcontext-generic.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SIGCONTEXT_GENERIC_H
-#define __UM_SIGCONTEXT_GENERIC_H
-
-#include "asm/arch/sigcontext.h"
-
-#endif
diff --git a/include/asm-um/sigcontext-i386.h b/include/asm-um/sigcontext-i386.h
deleted file mode 100644
index b88333f..0000000
--- a/include/asm-um/sigcontext-i386.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SIGCONTEXT_I386_H
-#define __UM_SIGCONTEXT_I386_H
-
-#include "asm/sigcontext-generic.h"
-
-#endif
diff --git a/include/asm-um/sigcontext-ppc.h b/include/asm-um/sigcontext-ppc.h
deleted file mode 100644
index 2467f20..0000000
--- a/include/asm-um/sigcontext-ppc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __UM_SIGCONTEXT_PPC_H
-#define __UM_SIGCONTEXT_PPC_H
-
-#define pt_regs sys_pt_regs
-
-#include "asm/sigcontext-generic.h"
-
-#undef pt_regs
-
-#endif
diff --git a/include/asm-um/sigcontext-x86_64.h b/include/asm-um/sigcontext-x86_64.h
deleted file mode 100644
index b600e0b..0000000
--- a/include/asm-um/sigcontext-x86_64.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2003 PathScale, Inc.
- *
- * Licensed under the GPL
- */
-
-#ifndef __UM_SIGCONTEXT_X86_64_H
-#define __UM_SIGCONTEXT_X86_64_H
-
-#include "asm/sigcontext-generic.h"
-
-#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
diff --git a/include/asm-um/siginfo.h b/include/asm-um/siginfo.h
deleted file mode 100644
index bec6124..0000000
--- a/include/asm-um/siginfo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SIGINFO_H
-#define __UM_SIGINFO_H
-
-#include "asm/arch/siginfo.h"
-
-#endif
diff --git a/include/asm-um/signal.h b/include/asm-um/signal.h
deleted file mode 100644
index 52ed92c..0000000
--- a/include/asm-um/signal.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* 
- * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
- * Licensed under the GPL
- */
-
-#ifndef __UM_SIGNAL_H
-#define __UM_SIGNAL_H
-
-/* Need to kill the do_signal() declaration in the i386 signal.h */
-
-#define do_signal do_signal_renamed
-#include "asm/arch/signal.h"
-#undef do_signal
-#undef ptrace_signal_deliver
-
-#define ptrace_signal_deliver(regs, cookie) do {} while(0)
-
-#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
diff --git a/include/asm-um/socket.h b/include/asm-um/socket.h
deleted file mode 100644
index 67886e4..0000000
--- a/include/asm-um/socket.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SOCKET_H
-#define __UM_SOCKET_H
-
-#include "asm/arch/socket.h"
-
-#endif
diff --git a/include/asm-um/sockios.h b/include/asm-um/sockios.h
deleted file mode 100644
index 93ee1c5..0000000
--- a/include/asm-um/sockios.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SOCKIOS_H
-#define __UM_SOCKIOS_H
-
-#include "asm/arch/sockios.h"
-
-#endif
diff --git a/include/asm-um/spinlock.h b/include/asm-um/spinlock.h
deleted file mode 100644
index f18c828..0000000
--- a/include/asm-um/spinlock.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SPINLOCK_H
-#define __UM_SPINLOCK_H
-
-#include "asm/arch/spinlock.h"
-
-#endif
diff --git a/include/asm-um/spinlock_types.h b/include/asm-um/spinlock_types.h
deleted file mode 100644
index e5a9429..0000000
--- a/include/asm-um/spinlock_types.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SPINLOCK_TYPES_H
-#define __UM_SPINLOCK_TYPES_H
-
-#include "asm/arch/spinlock_types.h"
-
-#endif
diff --git a/include/asm-um/stat.h b/include/asm-um/stat.h
deleted file mode 100644
index 83ed85a..0000000
--- a/include/asm-um/stat.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_STAT_H
-#define __UM_STAT_H
-
-#include "asm/arch/stat.h"
-
-#endif
diff --git a/include/asm-um/statfs.h b/include/asm-um/statfs.h
deleted file mode 100644
index ba6fb53..0000000
--- a/include/asm-um/statfs.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _UM_STATFS_H
-#define _UM_STATFS_H
-
-#include "asm/arch/statfs.h"
-
-#endif
diff --git a/include/asm-um/string.h b/include/asm-um/string.h
deleted file mode 100644
index 9a0571f6..0000000
--- a/include/asm-um/string.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __UM_STRING_H
-#define __UM_STRING_H
-
-#include "asm/arch/string.h"
-#include "asm/archparam.h"
-
-#endif
diff --git a/include/asm-um/system-i386.h b/include/asm-um/system-i386.h
deleted file mode 100644
index c436263..0000000
--- a/include/asm-um/system-i386.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_SYSTEM_I386_H
-#define __UM_SYSTEM_I386_H
-
-#include "asm/system-generic.h"
-    
-#endif
diff --git a/include/asm-um/system-ppc.h b/include/asm-um/system-ppc.h
deleted file mode 100644
index 17cde66..0000000
--- a/include/asm-um/system-ppc.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __UM_SYSTEM_PPC_H
-#define __UM_SYSTEM_PPC_H
-
-#define _switch_to _ppc_switch_to
-
-#include "asm/arch/system.h"
-
-#undef _switch_to
- 
-#include "asm/system-generic.h"
-
-#endif
diff --git a/include/asm-um/system-x86_64.h b/include/asm-um/system-x86_64.h
deleted file mode 100644
index e1b61b5..0000000
--- a/include/asm-um/system-x86_64.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2003 PathScale, Inc.
- *
- * Licensed under the GPL
- */
-
-#ifndef __UM_SYSTEM_X86_64_H
-#define __UM_SYSTEM_X86_64_H
-
-#include "asm/system-generic.h"
-
-#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
diff --git a/include/asm-um/termbits.h b/include/asm-um/termbits.h
deleted file mode 100644
index 5739c60..0000000
--- a/include/asm-um/termbits.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_TERMBITS_H
-#define __UM_TERMBITS_H
-
-#include "asm/arch/termbits.h"
-
-#endif
diff --git a/include/asm-um/termios.h b/include/asm-um/termios.h
deleted file mode 100644
index d9f97b3..0000000
--- a/include/asm-um/termios.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_TERMIOS_H
-#define __UM_TERMIOS_H
-
-#include "asm/arch/termios.h"
-
-#endif
diff --git a/include/asm-um/types.h b/include/asm-um/types.h
deleted file mode 100644
index 816e959..0000000
--- a/include/asm-um/types.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_TYPES_H
-#define __UM_TYPES_H
-
-#include "asm/arch/types.h"
-
-#endif
diff --git a/include/asm-um/ucontext.h b/include/asm-um/ucontext.h
deleted file mode 100644
index 5c96c0e..0000000
--- a/include/asm-um/ucontext.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ASM_UM_UCONTEXT_H
-#define _ASM_UM_UCONTEXT_H
-
-#include "asm/arch/ucontext.h"
-
-#endif
diff --git a/include/asm-um/unaligned.h b/include/asm-um/unaligned.h
deleted file mode 100644
index a471969..0000000
--- a/include/asm-um/unaligned.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ASM_UM_UNALIGNED_H
-#define _ASM_UM_UNALIGNED_H
-
-#include "asm/arch/unaligned.h"
-
-#endif /* _ASM_UM_UNALIGNED_H */
diff --git a/include/asm-um/unistd.h b/include/asm-um/unistd.h
deleted file mode 100644
index 38bd9d9..0000000
--- a/include/asm-um/unistd.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 
- * Copyright (C) 2000 - 2004  Jeff Dike (jdike@karaya.com)
- * Licensed under the GPL
- */
-
-#ifndef _UM_UNISTD_H_
-#define _UM_UNISTD_H_
-
-#include <linux/syscalls.h>
-#include "linux/resource.h"
-#include "asm/uaccess.h"
-
-extern int um_execve(const char *file, char *const argv[], char *const env[]);
-
-#ifdef __KERNEL__
-/* We get __ARCH_WANT_OLD_STAT and __ARCH_WANT_STAT64 from the base arch */
-#define __ARCH_WANT_OLD_READDIR
-#define __ARCH_WANT_SYS_ALARM
-#define __ARCH_WANT_SYS_GETHOSTNAME
-#define __ARCH_WANT_SYS_PAUSE
-#define __ARCH_WANT_SYS_SGETMASK
-#define __ARCH_WANT_SYS_SIGNAL
-#define __ARCH_WANT_SYS_TIME
-#define __ARCH_WANT_SYS_UTIME
-#define __ARCH_WANT_SYS_WAITPID
-#define __ARCH_WANT_SYS_SOCKETCALL
-#define __ARCH_WANT_SYS_FADVISE64
-#define __ARCH_WANT_SYS_GETPGRP
-#define __ARCH_WANT_SYS_LLSEEK
-#define __ARCH_WANT_SYS_NICE
-#define __ARCH_WANT_SYS_OLD_GETRLIMIT
-#define __ARCH_WANT_SYS_OLDUMOUNT
-#define __ARCH_WANT_SYS_SIGPENDING
-#define __ARCH_WANT_SYS_SIGPROCMASK
-#define __ARCH_WANT_SYS_RT_SIGACTION
-#define __ARCH_WANT_SYS_RT_SIGSUSPEND
-#endif
-
-#include "asm/arch/unistd.h"
-
-#endif /* _UM_UNISTD_H_*/
diff --git a/include/asm-um/user.h b/include/asm-um/user.h
deleted file mode 100644
index aae414e..0000000
--- a/include/asm-um/user.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_USER_H
-#define __UM_USER_H
-
-#include "asm/arch/user.h"
-
-#endif
diff --git a/include/asm-um/vga.h b/include/asm-um/vga.h
deleted file mode 100644
index 903a592..0000000
--- a/include/asm-um/vga.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_VGA_H
-#define __UM_VGA_H
-
-#include "asm/arch/vga.h"
-
-#endif
diff --git a/include/asm-um/vm86.h b/include/asm-um/vm86.h
deleted file mode 100644
index 7801f82..0000000
--- a/include/asm-um/vm86.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __UM_VM86_H
-#define __UM_VM86_H
-
-#include "asm/arch/vm86.h"
-
-#endif
diff --git a/include/asm-x86/irq_remapping.h b/include/asm-x86/irq_remapping.h
deleted file mode 100644
index 78242c6..0000000
--- a/include/asm-x86/irq_remapping.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _ASM_IRQ_REMAPPING_H
-#define _ASM_IRQ_REMAPPING_H
-
-extern int x2apic;
-
-#define IRTE_DEST(dest) ((x2apic) ? dest : dest << 8)
-
-#endif
diff --git a/include/asm-x86/mach-default/mach_mpspec.h b/include/asm-x86/mach-default/mach_mpspec.h
deleted file mode 100644
index d77646f..0000000
--- a/include/asm-x86/mach-default/mach_mpspec.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef ASM_X86__MACH_DEFAULT__MACH_MPSPEC_H
-#define ASM_X86__MACH_DEFAULT__MACH_MPSPEC_H
-
-#define MAX_IRQ_SOURCES 256
-
-#if CONFIG_BASE_SMALL == 0
-#define MAX_MP_BUSSES 256
-#else
-#define MAX_MP_BUSSES 32
-#endif
-
-#endif /* ASM_X86__MACH_DEFAULT__MACH_MPSPEC_H */
diff --git a/include/asm-x86/mach-generic/mach_apicdef.h b/include/asm-x86/mach-generic/mach_apicdef.h
deleted file mode 100644
index 1657f38..0000000
--- a/include/asm-x86/mach-generic/mach_apicdef.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef ASM_X86__MACH_GENERIC__MACH_APICDEF_H
-#define ASM_X86__MACH_GENERIC__MACH_APICDEF_H
-
-#ifndef APIC_DEFINITION
-#include <asm/genapic.h>
-
-#define GET_APIC_ID (genapic->get_apic_id)
-#define APIC_ID_MASK (genapic->apic_id_mask)
-#endif
-
-#endif /* ASM_X86__MACH_GENERIC__MACH_APICDEF_H */
diff --git a/include/asm-x86/mach-generic/mach_ipi.h b/include/asm-x86/mach-generic/mach_ipi.h
deleted file mode 100644
index f67433d..0000000
--- a/include/asm-x86/mach-generic/mach_ipi.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef ASM_X86__MACH_GENERIC__MACH_IPI_H
-#define ASM_X86__MACH_GENERIC__MACH_IPI_H
-
-#include <asm/genapic.h>
-
-#define send_IPI_mask (genapic->send_IPI_mask)
-#define send_IPI_allbutself (genapic->send_IPI_allbutself)
-#define send_IPI_all (genapic->send_IPI_all)
-
-#endif /* ASM_X86__MACH_GENERIC__MACH_IPI_H */
diff --git a/include/asm-x86/mach-generic/mach_mpparse.h b/include/asm-x86/mach-generic/mach_mpparse.h
deleted file mode 100644
index 3115564..0000000
--- a/include/asm-x86/mach-generic/mach_mpparse.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef ASM_X86__MACH_GENERIC__MACH_MPPARSE_H
-#define ASM_X86__MACH_GENERIC__MACH_MPPARSE_H
-
-
-extern int mps_oem_check(struct mp_config_table *mpc, char *oem,
-			 char *productid);
-
-extern int acpi_madt_oem_check(char *oem_id, char *oem_table_id);
-
-#endif /* ASM_X86__MACH_GENERIC__MACH_MPPARSE_H */
diff --git a/include/asm-x86/prctl.h b/include/asm-x86/prctl.h
deleted file mode 100644
index e7ae34e..0000000
--- a/include/asm-x86/prctl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef ASM_X86__PRCTL_H
-#define ASM_X86__PRCTL_H
-
-#define ARCH_SET_GS 0x1001
-#define ARCH_SET_FS 0x1002
-#define ARCH_GET_FS 0x1003
-#define ARCH_GET_GS 0x1004
-
-
-#endif /* ASM_X86__PRCTL_H */
diff --git a/include/asm-x86/reboot_fixups.h b/include/asm-x86/reboot_fixups.h
deleted file mode 100644
index 2c2987d..0000000
--- a/include/asm-x86/reboot_fixups.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef ASM_X86__REBOOT_FIXUPS_H
-#define ASM_X86__REBOOT_FIXUPS_H
-
-extern void mach_reboot_fixups(void);
-
-#endif /* ASM_X86__REBOOT_FIXUPS_H */
diff --git a/include/asm-x86/rwlock.h b/include/asm-x86/rwlock.h
deleted file mode 100644
index 48a3109..0000000
--- a/include/asm-x86/rwlock.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef ASM_X86__RWLOCK_H
-#define ASM_X86__RWLOCK_H
-
-#define RW_LOCK_BIAS		 0x01000000
-
-/* Actual code is in asm/spinlock.h or in arch/x86/lib/rwlock.S */
-
-#endif /* ASM_X86__RWLOCK_H */
diff --git a/include/asm-x86/shmparam.h b/include/asm-x86/shmparam.h
deleted file mode 100644
index a83a1fd..0000000
--- a/include/asm-x86/shmparam.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef ASM_X86__SHMPARAM_H
-#define ASM_X86__SHMPARAM_H
-
-#define SHMLBA PAGE_SIZE	 /* attach addr a multiple of this */
-
-#endif /* ASM_X86__SHMPARAM_H */
diff --git a/include/asm-x86/siginfo.h b/include/asm-x86/siginfo.h
deleted file mode 100644
index 808bdfb..0000000
--- a/include/asm-x86/siginfo.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef ASM_X86__SIGINFO_H
-#define ASM_X86__SIGINFO_H
-
-#ifdef __x86_64__
-# define __ARCH_SI_PREAMBLE_SIZE	(4 * sizeof(int))
-#endif
-
-#include <asm-generic/siginfo.h>
-
-#endif /* ASM_X86__SIGINFO_H */
diff --git a/include/asm-x86/therm_throt.h b/include/asm-x86/therm_throt.h
deleted file mode 100644
index 1c7f57b..0000000
--- a/include/asm-x86/therm_throt.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef ASM_X86__THERM_THROT_H
-#define ASM_X86__THERM_THROT_H
-
-#include <asm/atomic.h>
-
-extern atomic_t therm_throt_en;
-int therm_throt_process(int curr);
-
-#endif /* ASM_X86__THERM_THROT_H */
diff --git a/include/asm-x86/xen/grant_table.h b/include/asm-x86/xen/grant_table.h
deleted file mode 100644
index c4baab4..0000000
--- a/include/asm-x86/xen/grant_table.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef ASM_X86__XEN__GRANT_TABLE_H
-#define ASM_X86__XEN__GRANT_TABLE_H
-
-#define xen_alloc_vm_area(size)	alloc_vm_area(size)
-#define xen_free_vm_area(area)	free_vm_area(area)
-
-#endif /* ASM_X86__XEN__GRANT_TABLE_H */
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh
index 366f8c7..41564b1 100755
--- a/scripts/checksyscalls.sh
+++ b/scripts/checksyscalls.sh
@@ -119,5 +119,5 @@
 \#endif/p }' $1
 }
 
-(ignore_list && syscall_list ${srctree}/include/asm-x86/unistd_32.h) | \
+(ignore_list && syscall_list ${srctree}/arch/x86/include/asm/unistd_32.h) | \
 $* -E -x c - > /dev/null
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index fa1a7d5..fa8c2dd 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -4,7 +4,11 @@
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
 Kconfig := arch/$(SRCARCH)/Kconfig
+endif
 
 xconfig: $(obj)/qconf
 	$< $(Kconfig)