From 34b8867a034364ca33d0adb3a1c5b9982903c719 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 22 Oct 2007 11:01:54 +1000 Subject: [PATCH] Move lguest guest support to arch/x86. 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 Cc: Andi Kleen --- arch/i386/Kconfig | 10 ++-------- arch/i386/Makefile | 3 +++ arch/x86/lguest/Kconfig | 8 ++++++++ arch/x86/lguest/Makefile | 1 + drivers/lguest/lguest.c => arch/x86/lguest/boot.c | 0 drivers/lguest/lguest_asm.S => arch/x86/lguest/i386_head.S | 2 +- drivers/lguest/Makefile | 4 ++-- 7 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 arch/x86/lguest/Kconfig create mode 100644 arch/x86/lguest/Makefile rename drivers/lguest/lguest.c => arch/x86/lguest/boot.c (100%) rename drivers/lguest/lguest_asm.S => arch/x86/lguest/i386_head.S (98%) diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 3523e82..5bed8be 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 b88e47c..b81cb64 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 0000000..0fabf87 --- /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 0000000..27f0c9e --- /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 1ddcd5c..6d7a74f 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 e504747..2db98c2 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 -- 2.7.4