KVM: Move arch dependent files to new directory arch/x86/kvm/
Avi Kivity [Sun, 16 Dec 2007 09:02:48 +0000 (11:02 +0200)]
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>

28 files changed:
arch/x86/Kconfig
arch/x86/Makefile
arch/x86/kvm/Kconfig [moved from drivers/kvm/Kconfig with 100% similarity]
arch/x86/kvm/Makefile [moved from drivers/kvm/Makefile with 52% similarity]
arch/x86/kvm/i8259.c [moved from drivers/kvm/i8259.c with 99% similarity]
arch/x86/kvm/ioapic.c [moved from drivers/kvm/ioapic.c with 99% similarity]
arch/x86/kvm/irq.c [moved from drivers/kvm/irq.c with 98% similarity]
arch/x86/kvm/irq.h [moved from drivers/kvm/irq.h with 99% similarity]
arch/x86/kvm/kvm_svm.h [moved from drivers/kvm/kvm_svm.h with 96% similarity]
arch/x86/kvm/lapic.c [moved from drivers/kvm/lapic.c with 99% similarity]
arch/x86/kvm/mmu.c [moved from drivers/kvm/mmu.c with 99% similarity]
arch/x86/kvm/mmu.h [moved from drivers/kvm/mmu.h with 96% similarity]
arch/x86/kvm/paging_tmpl.h [moved from drivers/kvm/paging_tmpl.h with 100% similarity]
arch/x86/kvm/segment_descriptor.h [moved from drivers/kvm/segment_descriptor.h with 100% similarity]
arch/x86/kvm/svm.c [moved from drivers/kvm/svm.c with 99% similarity]
arch/x86/kvm/svm.h [moved from drivers/kvm/svm.h with 100% similarity]
arch/x86/kvm/vmx.c [moved from drivers/kvm/vmx.c with 99% similarity]
arch/x86/kvm/vmx.h [moved from drivers/kvm/vmx.h with 100% similarity]
arch/x86/kvm/x86.c [moved from drivers/kvm/x86.c with 99% similarity]
arch/x86/kvm/x86_emulate.c [moved from drivers/kvm/x86_emulate.c with 99% similarity]
drivers/Kconfig
drivers/Makefile
drivers/kvm/iodev.h
drivers/kvm/kvm_main.c
include/asm-x86/kvm_host.h [moved from drivers/kvm/x86.h with 99% similarity]
include/asm-x86/kvm_x86_emulate.h [moved from drivers/kvm/x86_emulate.h with 100% similarity]
include/linux/kvm_host.h [moved from drivers/kvm/kvm.h with 98% similarity]
include/linux/kvm_types.h [moved from drivers/kvm/types.h with 100% similarity]

index d289cfc..65b4491 100644 (file)
@@ -1599,4 +1599,6 @@ source "security/Kconfig"
 
 source "crypto/Kconfig"
 
+source "arch/x86/kvm/Kconfig"
+
 source "lib/Kconfig"
index b08f182..da8f412 100644 (file)
@@ -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
similarity index 100%
rename from drivers/kvm/Kconfig
rename to arch/x86/kvm/Kconfig
similarity index 52%
rename from drivers/kvm/Makefile
rename to arch/x86/kvm/Makefile
index cf18ad4..880ffe4 100644 (file)
@@ -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
similarity index 99%
rename from drivers/kvm/i8259.c
rename to arch/x86/kvm/i8259.c
index b3cad63..ab29cf2 100644 (file)
@@ -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
similarity index 99%
rename from drivers/kvm/ioapic.c
rename to arch/x86/kvm/ioapic.c
index f823677..72f12f7 100644 (file)
@@ -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>
similarity index 98%
rename from drivers/kvm/irq.c
rename to arch/x86/kvm/irq.c
index 59b47c5..07a09aa 100644 (file)
@@ -20,9 +20,8 @@
  */
 
 #include <linux/module.h>
+#include <linux/kvm_host.h>
 
-#include "kvm.h"
-#include "x86.h"
 #include "irq.h"
 
 /*
similarity index 99%
rename from drivers/kvm/irq.h
rename to arch/x86/kvm/irq.h
index 6e023dc..6316638 100644 (file)
@@ -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;
similarity index 96%
rename from drivers/kvm/kvm_svm.h
rename to arch/x86/kvm/kvm_svm.h
index a0e415d..ecdfe97 100644 (file)
@@ -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
similarity index 99%
rename from drivers/kvm/lapic.c
rename to arch/x86/kvm/lapic.c
index 8c74bf1..4076331 100644 (file)
@@ -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>
similarity index 99%
rename from drivers/kvm/mmu.c
rename to arch/x86/kvm/mmu.c
index c26d83f..401eb7c 100644 (file)
  */
 
 #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>
similarity index 96%
rename from drivers/kvm/mmu.h
rename to arch/x86/kvm/mmu.h
index cbfc272..1fce19e 100644 (file)
@@ -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)
 {
similarity index 99%
rename from drivers/kvm/svm.c
rename to arch/x86/kvm/svm.c
index e606f6d..3d4b71a 100644 (file)
@@ -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"
 
similarity index 100%
rename from drivers/kvm/svm.h
rename to arch/x86/kvm/svm.h
similarity index 99%
rename from drivers/kvm/vmx.c
rename to arch/x86/kvm/vmx.c
index 11ca234..fc494af 100644 (file)
  *
  */
 
-#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>
similarity index 100%
rename from drivers/kvm/vmx.h
rename to arch/x86/kvm/vmx.h
similarity index 99%
rename from drivers/kvm/x86.c
rename to arch/x86/kvm/x86.c
index b37c009..5902c5c 100644 (file)
@@ -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"
similarity index 99%
rename from drivers/kvm/x86_emulate.c
rename to arch/x86/kvm/x86_emulate.c
index 50b133f..7958600 100644 (file)
 #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.
index f4076d9..08d4ae2 100644 (file)
@@ -90,8 +90,6 @@ source "drivers/dca/Kconfig"
 
 source "drivers/auxdisplay/Kconfig"
 
-source "drivers/kvm/Kconfig"
-
 source "drivers/uio/Kconfig"
 
 source "drivers/virtio/Kconfig"
index d92d4d8..9e1f808 100644 (file)
@@ -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/
index eb9e8a7..c14e642 100644 (file)
@@ -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,
index ae2a1bf..4026d7d 100644 (file)
@@ -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>
similarity index 99%
rename from drivers/kvm/x86.h
rename to include/asm-x86/kvm_host.h
index dfb8091..28940e1 100644 (file)
@@ -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
 
similarity index 98%
rename from drivers/kvm/kvm.h
rename to include/linux/kvm_host.h
index bf6a3b3..a85d5b6 100644 (file)
@@ -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