diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 3523e82c8412..5bed8be34ba5 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -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 diff --git a/arch/i386/Makefile b/arch/i386/Makefile index b88e47ca3032..b81cb64d48e5 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -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 index 000000000000..0fabf87db998 --- /dev/null +++ b/arch/x86/lguest/Kconfig @@ -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 index 000000000000..27f0c9ed7f60 --- /dev/null +++ b/arch/x86/lguest/Makefile @@ -0,0 +1 @@ +obj-y := i386_head.o boot.o diff --git a/drivers/lguest/lguest.c b/arch/x86/lguest/boot.c similarity index 100% rename from drivers/lguest/lguest.c rename to arch/x86/lguest/boot.c diff --git a/drivers/lguest/lguest_asm.S b/arch/x86/lguest/i386_head.S similarity index 98% rename from drivers/lguest/lguest_asm.S rename to arch/x86/lguest/i386_head.S index 1ddcd5cd20f6..6d7a74f07c41 100644 --- a/drivers/lguest/lguest_asm.S +++ b/arch/x86/lguest/i386_head.S @@ -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 diff --git a/drivers/lguest/Makefile b/drivers/lguest/Makefile index e5047471c334..2db98c233e54 100644 --- a/drivers/lguest/Makefile +++ b/drivers/lguest/Makefile @@ -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