diff options
author | Avi Kivity <avi@qumranet.com> | 2007-12-16 11:02:48 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 18:01:18 +0200 |
commit | edf884172e9828c6234b254208af04655855038d (patch) | |
tree | f5e5d1eecaed9737eced6ba60d09fe93149751c1 | |
parent | 9584bf2c93f56656dba0de8f6c75b54ca7995143 (diff) | |
download | lwn-edf884172e9828c6234b254208af04655855038d.tar.gz lwn-edf884172e9828c6234b254208af04655855038d.zip |
KVM: Move arch dependent files to new directory arch/x86/kvm/
This paves the way for multiple architecture support. Note that while
ioapic.c could potentially be shared with ia64, it is also moved.
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | arch/x86/Kconfig | 2 | ||||
-rw-r--r-- | arch/x86/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/kvm/Kconfig (renamed from drivers/kvm/Kconfig) | 0 | ||||
-rw-r--r-- | arch/x86/kvm/Makefile (renamed from drivers/kvm/Makefile) | 7 | ||||
-rw-r--r-- | arch/x86/kvm/i8259.c (renamed from drivers/kvm/i8259.c) | 3 | ||||
-rw-r--r-- | arch/x86/kvm/ioapic.c (renamed from drivers/kvm/ioapic.c) | 4 | ||||
-rw-r--r-- | arch/x86/kvm/irq.c (renamed from drivers/kvm/irq.c) | 3 | ||||
-rw-r--r-- | arch/x86/kvm/irq.h (renamed from drivers/kvm/irq.h) | 3 | ||||
-rw-r--r-- | arch/x86/kvm/kvm_svm.h (renamed from drivers/kvm/kvm_svm.h) | 2 | ||||
-rw-r--r-- | arch/x86/kvm/lapic.c (renamed from drivers/kvm/lapic.c) | 4 | ||||
-rw-r--r-- | arch/x86/kvm/mmu.c (renamed from drivers/kvm/mmu.c) | 3 | ||||
-rw-r--r-- | arch/x86/kvm/mmu.h (renamed from drivers/kvm/mmu.h) | 2 | ||||
-rw-r--r-- | arch/x86/kvm/paging_tmpl.h (renamed from drivers/kvm/paging_tmpl.h) | 0 | ||||
-rw-r--r-- | arch/x86/kvm/segment_descriptor.h (renamed from drivers/kvm/segment_descriptor.h) | 0 | ||||
-rw-r--r-- | arch/x86/kvm/svm.c (renamed from drivers/kvm/svm.c) | 4 | ||||
-rw-r--r-- | arch/x86/kvm/svm.h (renamed from drivers/kvm/svm.h) | 0 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c (renamed from drivers/kvm/vmx.c) | 4 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.h (renamed from drivers/kvm/vmx.h) | 0 | ||||
-rw-r--r-- | arch/x86/kvm/x86.c (renamed from drivers/kvm/x86.c) | 4 | ||||
-rw-r--r-- | arch/x86/kvm/x86_emulate.c (renamed from drivers/kvm/x86_emulate.c) | 5 | ||||
-rw-r--r-- | drivers/Kconfig | 2 | ||||
-rw-r--r-- | drivers/Makefile | 1 | ||||
-rw-r--r-- | drivers/kvm/iodev.h | 2 | ||||
-rw-r--r-- | drivers/kvm/kvm_main.c | 2 | ||||
-rw-r--r-- | include/asm-x86/kvm_host.h (renamed from drivers/kvm/x86.h) | 9 | ||||
-rw-r--r-- | include/asm-x86/kvm_x86_emulate.h (renamed from drivers/kvm/x86_emulate.h) | 0 | ||||
-rw-r--r-- | include/linux/kvm_host.h (renamed from drivers/kvm/kvm.h) | 8 | ||||
-rw-r--r-- | include/linux/kvm_types.h (renamed from drivers/kvm/types.h) | 0 |
28 files changed, 35 insertions, 41 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index d289cfcf92c4..65b449134cf7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1599,4 +1599,6 @@ source "security/Kconfig" source "crypto/Kconfig" +source "arch/x86/kvm/Kconfig" + source "lib/Kconfig" diff --git a/arch/x86/Makefile b/arch/x86/Makefile index b08f18261df6..da8f4129780b 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -7,6 +7,8 @@ else KBUILD_DEFCONFIG := $(ARCH)_defconfig endif +core-$(CONFIG_KVM) += arch/x86/kvm/ + # BITS is used as extension for files which are available in a 32 bit # and a 64 bit version to simplify shared Makefiles. # e.g.: obj-y += foo_$(BITS).o diff --git a/drivers/kvm/Kconfig b/arch/x86/kvm/Kconfig index c83e1c9b5129..c83e1c9b5129 100644 --- a/drivers/kvm/Kconfig +++ b/arch/x86/kvm/Kconfig diff --git a/drivers/kvm/Makefile b/arch/x86/kvm/Makefile index cf18ad46e987..880ffe403b35 100644 --- a/drivers/kvm/Makefile +++ b/arch/x86/kvm/Makefile @@ -2,7 +2,12 @@ # Makefile for Kernel-based Virtual Machine module # -kvm-objs := kvm_main.o x86.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o +common-objs = $(addprefix ../../../drivers/kvm/, kvm_main.o) + +EXTRA_CFLAGS += -I drivers/kvm + +kvm-objs := $(common-objs) x86.o mmu.o x86_emulate.o i8259.o irq.o lapic.o \ + ioapic.o obj-$(CONFIG_KVM) += kvm.o kvm-intel-objs = vmx.o obj-$(CONFIG_KVM_INTEL) += kvm-intel.o diff --git a/drivers/kvm/i8259.c b/arch/x86/kvm/i8259.c index b3cad632f3d5..ab29cf2def47 100644 --- a/drivers/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -27,7 +27,8 @@ */ #include <linux/mm.h> #include "irq.h" -#include "kvm.h" + +#include <linux/kvm_host.h> /* * set irq level. If an edge is detected, then the IRR is set to 1 diff --git a/drivers/kvm/ioapic.c b/arch/x86/kvm/ioapic.c index f8236774c1b4..72f12f75495d 100644 --- a/drivers/kvm/ioapic.c +++ b/arch/x86/kvm/ioapic.c @@ -26,9 +26,7 @@ * Based on Xen 3.1 code. */ -#include "kvm.h" -#include "x86.h" - +#include <linux/kvm_host.h> #include <linux/kvm.h> #include <linux/mm.h> #include <linux/highmem.h> diff --git a/drivers/kvm/irq.c b/arch/x86/kvm/irq.c index 59b47c55fc76..07a09aad4fd6 100644 --- a/drivers/kvm/irq.c +++ b/arch/x86/kvm/irq.c @@ -20,9 +20,8 @@ */ #include <linux/module.h> +#include <linux/kvm_host.h> -#include "kvm.h" -#include "x86.h" #include "irq.h" /* diff --git a/drivers/kvm/irq.h b/arch/x86/kvm/irq.h index 6e023dc3f848..6316638eec9f 100644 --- a/drivers/kvm/irq.h +++ b/arch/x86/kvm/irq.h @@ -24,9 +24,8 @@ #include <linux/mm_types.h> #include <linux/hrtimer.h> -#include <asm/kvm.h> +#include <linux/kvm_host.h> #include "iodev.h" -#include "kvm.h" struct kvm; struct kvm_vcpu; diff --git a/drivers/kvm/kvm_svm.h b/arch/x86/kvm/kvm_svm.h index a0e415daef5b..ecdfe97e4635 100644 --- a/drivers/kvm/kvm_svm.h +++ b/arch/x86/kvm/kvm_svm.h @@ -4,10 +4,10 @@ #include <linux/kernel.h> #include <linux/types.h> #include <linux/list.h> +#include <linux/kvm_host.h> #include <asm/msr.h> #include "svm.h" -#include "kvm.h" static const u32 host_save_user_msrs[] = { #ifdef CONFIG_X86_64 diff --git a/drivers/kvm/lapic.c b/arch/x86/kvm/lapic.c index 8c74bf184a07..4076331b01ee 100644 --- a/drivers/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -17,9 +17,7 @@ * the COPYING file in the top-level directory. */ -#include "kvm.h" -#include "x86.h" - +#include <linux/kvm_host.h> #include <linux/kvm.h> #include <linux/mm.h> #include <linux/highmem.h> diff --git a/drivers/kvm/mmu.c b/arch/x86/kvm/mmu.c index c26d83f86a3a..401eb7ce3207 100644 --- a/drivers/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -18,10 +18,9 @@ */ #include "vmx.h" -#include "kvm.h" -#include "x86.h" #include "mmu.h" +#include <linux/kvm_host.h> #include <linux/types.h> #include <linux/string.h> #include <linux/mm.h> diff --git a/drivers/kvm/mmu.h b/arch/x86/kvm/mmu.h index cbfc272262df..1fce19ec7a23 100644 --- a/drivers/kvm/mmu.h +++ b/arch/x86/kvm/mmu.h @@ -1,7 +1,7 @@ #ifndef __KVM_X86_MMU_H #define __KVM_X86_MMU_H -#include "kvm.h" +#include <linux/kvm_host.h> static inline void kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) { diff --git a/drivers/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h index 56b88f7e83ef..56b88f7e83ef 100644 --- a/drivers/kvm/paging_tmpl.h +++ b/arch/x86/kvm/paging_tmpl.h diff --git a/drivers/kvm/segment_descriptor.h b/arch/x86/kvm/segment_descriptor.h index 56fc4c873389..56fc4c873389 100644 --- a/drivers/kvm/segment_descriptor.h +++ b/arch/x86/kvm/segment_descriptor.h diff --git a/drivers/kvm/svm.c b/arch/x86/kvm/svm.c index e606f6d18669..3d4b71a94440 100644 --- a/drivers/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -13,9 +13,9 @@ * the COPYING file in the top-level directory. * */ -#include "x86.h" +#include <linux/kvm_host.h> + #include "kvm_svm.h" -#include "x86_emulate.h" #include "irq.h" #include "mmu.h" diff --git a/drivers/kvm/svm.h b/arch/x86/kvm/svm.h index 5fd50491b555..5fd50491b555 100644 --- a/drivers/kvm/svm.h +++ b/arch/x86/kvm/svm.h diff --git a/drivers/kvm/vmx.c b/arch/x86/kvm/vmx.c index 11ca2340d38f..fc494aff5d8b 100644 --- a/drivers/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -15,14 +15,12 @@ * */ -#include "kvm.h" -#include "x86.h" -#include "x86_emulate.h" #include "irq.h" #include "vmx.h" #include "segment_descriptor.h" #include "mmu.h" +#include <linux/kvm_host.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/mm.h> diff --git a/drivers/kvm/vmx.h b/arch/x86/kvm/vmx.h index d52ae8d7303d..d52ae8d7303d 100644 --- a/drivers/kvm/vmx.h +++ b/arch/x86/kvm/vmx.h diff --git a/drivers/kvm/x86.c b/arch/x86/kvm/x86.c index b37c0093d728..5902c5cbc1bb 100644 --- a/drivers/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -14,9 +14,7 @@ * */ -#include "kvm.h" -#include "x86.h" -#include "x86_emulate.h" +#include <linux/kvm_host.h> #include "segment_descriptor.h" #include "irq.h" #include "mmu.h" diff --git a/drivers/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index 50b133f68743..79586003397a 100644 --- a/drivers/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c @@ -25,12 +25,11 @@ #include <public/xen.h> #define DPRINTF(_f, _a ...) printf(_f , ## _a) #else -#include "kvm.h" -#include "x86.h" +#include <linux/kvm_host.h> #define DPRINTF(x...) do {} while (0) #endif -#include "x86_emulate.h" #include <linux/module.h> +#include <asm/kvm_x86_emulate.h> /* * Opcode effective-address decode tables. diff --git a/drivers/Kconfig b/drivers/Kconfig index f4076d9e9902..08d4ae201597 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -90,8 +90,6 @@ source "drivers/dca/Kconfig" source "drivers/auxdisplay/Kconfig" -source "drivers/kvm/Kconfig" - source "drivers/uio/Kconfig" source "drivers/virtio/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index d92d4d82d001..9e1f808e43cf 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -47,7 +47,6 @@ obj-$(CONFIG_SPI) += spi/ obj-$(CONFIG_PCCARD) += pcmcia/ obj-$(CONFIG_DIO) += dio/ obj-$(CONFIG_SBUS) += sbus/ -obj-$(CONFIG_KVM) += kvm/ obj-$(CONFIG_ZORRO) += zorro/ obj-$(CONFIG_MAC) += macintosh/ obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ diff --git a/drivers/kvm/iodev.h b/drivers/kvm/iodev.h index eb9e8a71843a..c14e642027b2 100644 --- a/drivers/kvm/iodev.h +++ b/drivers/kvm/iodev.h @@ -16,7 +16,7 @@ #ifndef __KVM_IODEV_H__ #define __KVM_IODEV_H__ -#include "types.h" +#include <linux/kvm_types.h> struct kvm_io_device { void (*read)(struct kvm_io_device *this, diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index ae2a1bf640bc..4026d7d64296 100644 --- a/drivers/kvm/kvm_main.c +++ b/drivers/kvm/kvm_main.c @@ -15,9 +15,9 @@ * */ -#include "kvm.h" #include "iodev.h" +#include <linux/kvm_host.h> #include <linux/kvm.h> #include <linux/module.h> #include <linux/errno.h> diff --git a/drivers/kvm/x86.h b/include/asm-x86/kvm_host.h index dfb8091971a9..28940e1a9713 100644 --- a/drivers/kvm/x86.h +++ b/include/asm-x86/kvm_host.h @@ -8,19 +8,18 @@ * */ -#ifndef KVM_X86_H -#define KVM_X86_H +#ifndef ASM_KVM_HOST_H +#define ASM_KVM_HOST_H #include <linux/types.h> #include <linux/mm.h> #include <linux/kvm.h> #include <linux/kvm_para.h> +#include <linux/kvm_types.h> #include <asm/desc.h> -#include "types.h" - #define CR3_PAE_RESERVED_BITS ((X86_CR3_PWT | X86_CR3_PCD) - 1) #define CR3_NONPAE_RESERVED_BITS ((PAGE_SIZE-1) & ~(X86_CR3_PWT | X86_CR3_PCD)) #define CR3_L_MODE_RESERVED_BITS (CR3_NONPAE_RESERVED_BITS|0xFFFFFF0000000000ULL) @@ -102,7 +101,7 @@ enum { VCPU_SREG_LDTR, }; -#include "x86_emulate.h" +#include <asm/kvm_x86_emulate.h> #define KVM_NR_MEM_OBJS 40 diff --git a/drivers/kvm/x86_emulate.h b/include/asm-x86/kvm_x86_emulate.h index 7db91b9bdcd4..7db91b9bdcd4 100644 --- a/drivers/kvm/x86_emulate.h +++ b/include/asm-x86/kvm_x86_emulate.h diff --git a/drivers/kvm/kvm.h b/include/linux/kvm_host.h index bf6a3b330a3d..a85d5b6943de 100644 --- a/drivers/kvm/kvm.h +++ b/include/linux/kvm_host.h @@ -1,5 +1,5 @@ -#ifndef __KVM_H -#define __KVM_H +#ifndef __KVM_HOST_H +#define __KVM_HOST_H /* * This work is licensed under the terms of the GNU GPL, version 2. See @@ -20,9 +20,9 @@ #include <linux/kvm.h> #include <linux/kvm_para.h> -#include "types.h" +#include <linux/kvm_types.h> -#include "x86.h" +#include <asm/kvm_host.h> #define KVM_MAX_VCPUS 4 #define KVM_MEMORY_SLOTS 8 diff --git a/drivers/kvm/types.h b/include/linux/kvm_types.h index 1c4e46decb22..1c4e46decb22 100644 --- a/drivers/kvm/types.h +++ b/include/linux/kvm_types.h |