diff --git a/arch/x86/Kbuild b/arch/x86/Kbuild
index 3942f74c92d7d..b9b816277e722 100644
--- a/arch/x86/Kbuild
+++ b/arch/x86/Kbuild
@@ -1,3 +1,6 @@
+
+obj-y += entry/
+
 obj-$(CONFIG_KVM) += kvm/
 
 # Xen paravirtualization support
diff --git a/arch/x86/entry/Makefile b/arch/x86/entry/Makefile
new file mode 100644
index 0000000000000..fa7e0cf6d3c45
--- /dev/null
+++ b/arch/x86/entry/Makefile
@@ -0,0 +1,4 @@
+#
+# Makefile for the x86 low level entry code
+#
+obj-y			:= entry_$(BITS).o
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/entry/entry_32.S
similarity index 100%
rename from arch/x86/kernel/entry_32.S
rename to arch/x86/entry/entry_32.S
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/entry/entry_64.S
similarity index 100%
rename from arch/x86/kernel/entry_64.S
rename to arch/x86/entry/entry_64.S
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 9bcd0b56ca177..9d3ee054453da 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -22,7 +22,7 @@ KASAN_SANITIZE_dumpstack_$(BITS).o := n
 
 CFLAGS_irq.o := -I$(src)/../include/asm/trace
 
-obj-y			:= process_$(BITS).o signal.o entry_$(BITS).o
+obj-y			:= process_$(BITS).o signal.o
 obj-y			+= traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
 obj-y			+= time.o ioport.o ldt.o dumpstack.o nmi.o
 obj-y			+= setup.o x86_init.o i8259.o irqinit.o jump_label.o