source "crypto/Kconfig"
+source "arch/x86/kvm/Kconfig"
+
source "lib/Kconfig"
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
# 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
*/
#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
* 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>
*/
#include <linux/module.h>
+#include <linux/kvm_host.h>
-#include "kvm.h"
-#include "x86.h"
#include "irq.h"
/*
#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;
#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
* 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>
*/
#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>
#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)
{
* 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"
*
*/
-#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>
*
*/
-#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"
#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.
source "drivers/auxdisplay/Kconfig"
-source "drivers/kvm/Kconfig"
-
source "drivers/uio/Kconfig"
source "drivers/virtio/Kconfig"
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/
#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,
*
*/
-#include "kvm.h"
#include "iodev.h"
+#include <linux/kvm_host.h>
#include <linux/kvm.h>
#include <linux/module.h>
#include <linux/errno.h>
*
*/
-#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)
VCPU_SREG_LDTR,
};
-#include "x86_emulate.h"
+#include <asm/kvm_x86_emulate.h>
#define KVM_NR_MEM_OBJS 40
-#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
#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