Move lguest guest support to arch/x86.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 22 Oct 2007 01:01:54 +0000 (11:01 +1000)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 23 Oct 2007 05:49:50 +0000 (15:49 +1000)
Lguest has two sides: host support (to launch guests) and guest
support (replacement boot path and paravirt_ops).  This moves the
guest side to arch/x86/lguest where it's closer to related code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Andi Kleen <ak@suse.de>
arch/i386/Kconfig
arch/i386/Makefile
arch/x86/lguest/Kconfig [new file with mode: 0644]
arch/x86/lguest/Makefile [new file with mode: 0644]
arch/x86/lguest/boot.c [moved from drivers/lguest/lguest.c with 100% similarity]
arch/x86/lguest/i386_head.S [moved from drivers/lguest/lguest_asm.S with 98% similarity]
drivers/lguest/Makefile

index 3523e82..5bed8be 100644 (file)
@@ -257,14 +257,8 @@ config VMI
          at the moment), by linking the kernel to a GPL-ed ROM module
          provided by the hypervisor.
 
-config LGUEST_GUEST
-       bool "Lguest guest support"
-       select PARAVIRT
-       depends on !X86_PAE
-       help
-         Lguest is a tiny in-kernel hypervisor.  Selecting this will
-         allow your kernel to boot under lguest.  This option will increase
-         your kernel size by about 6k.  If in doubt, say N.
+source "arch/x86/lguest/Kconfig"
+
 endif
 
 config ACPI_SRAT
index b88e47c..b81cb64 100644 (file)
@@ -99,6 +99,9 @@ core-$(CONFIG_X86_ES7000)     := arch/x86/mach-es7000/
 # Xen paravirtualization support
 core-$(CONFIG_XEN)             += arch/x86/xen/
 
+# lguest paravirtualization support
+core-$(CONFIG_LGUEST_GUEST)    += arch/x86/lguest/
+
 # default subarch .h files
 mflags-y += -Iinclude/asm-x86/mach-default
 
diff --git a/arch/x86/lguest/Kconfig b/arch/x86/lguest/Kconfig
new file mode 100644 (file)
index 0000000..0fabf87
--- /dev/null
@@ -0,0 +1,8 @@
+config LGUEST_GUEST
+       bool "Lguest guest support"
+       select PARAVIRT
+       depends on !X86_PAE
+       help
+         Lguest is a tiny in-kernel hypervisor.  Selecting this will
+         allow your kernel to boot under lguest.  This option will increase
+         your kernel size by about 6k.  If in doubt, say N.
diff --git a/arch/x86/lguest/Makefile b/arch/x86/lguest/Makefile
new file mode 100644 (file)
index 0000000..27f0c9e
--- /dev/null
@@ -0,0 +1 @@
+obj-y          := i386_head.o boot.o
similarity index 98%
rename from drivers/lguest/lguest_asm.S
rename to arch/x86/lguest/i386_head.S
index 1ddcd5c..6d7a74f 100644 (file)
@@ -16,7 +16,7 @@
 .section .init.text, "ax", @progbits
 .ascii "GenuineLguest"
        /* Set up initial stack. */
-       movl $(init_thread_union+THREAD_SIZE),%esp
+       movl $(init_thread_union+THREAD_SIZE),%esp
        movl %esi, %eax
        addl $__PAGE_OFFSET, %eax
        jmp lguest_init
index e504747..2db98c2 100644 (file)
@@ -1,5 +1,5 @@
-# Guest requires the paravirt_ops replacement and the bus driver.
-obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o lguest_bus.o
+# Guest requires the bus driver.
+obj-$(CONFIG_LGUEST_GUEST) += lguest_bus.o
 
 # Host requires the other files, which can be a module.
 obj-$(CONFIG_LGUEST)   += lg.o