Skip to content

Commit

Permalink
KVM: Move arch dependent files to new directory arch/x86/kvm/
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
avikivity committed Jan 30, 2008
1 parent 9584bf2 commit edf8841
Show file tree
Hide file tree
Showing 28 changed files with 35 additions and 41 deletions.
2 changes: 2 additions & 0 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1599,4 +1599,6 @@ source "security/Kconfig"

source "crypto/Kconfig"

source "arch/x86/kvm/Kconfig"

source "lib/Kconfig"
2 changes: 2 additions & 0 deletions arch/x86/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
File renamed without changes.
7 changes: 6 additions & 1 deletion drivers/kvm/Makefile → arch/x86/kvm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion drivers/kvm/i8259.c → arch/x86/kvm/i8259.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 1 addition & 3 deletions drivers/kvm/ioapic.c → arch/x86/kvm/ioapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
3 changes: 1 addition & 2 deletions drivers/kvm/irq.c → arch/x86/kvm/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
*/

#include <linux/module.h>
#include <linux/kvm_host.h>

#include "kvm.h"
#include "x86.h"
#include "irq.h"

/*
Expand Down
3 changes: 1 addition & 2 deletions drivers/kvm/irq.h → arch/x86/kvm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/kvm/kvm_svm.h → arch/x86/kvm/kvm_svm.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 1 addition & 3 deletions drivers/kvm/lapic.c → arch/x86/kvm/lapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
3 changes: 1 addition & 2 deletions drivers/kvm/mmu.c → arch/x86/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion drivers/kvm/mmu.h → arch/x86/kvm/mmu.h
Original file line number Diff line number Diff line change
@@ -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)
{
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions drivers/kvm/svm.c → arch/x86/kvm/svm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
File renamed without changes.
4 changes: 1 addition & 3 deletions drivers/kvm/vmx.c → arch/x86/kvm/vmx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
File renamed without changes.
4 changes: 1 addition & 3 deletions drivers/kvm/x86.c → arch/x86/kvm/x86.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
5 changes: 2 additions & 3 deletions drivers/kvm/x86_emulate.c → arch/x86/kvm/x86_emulate.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 0 additions & 2 deletions drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,6 @@ source "drivers/dca/Kconfig"

source "drivers/auxdisplay/Kconfig"

source "drivers/kvm/Kconfig"

source "drivers/uio/Kconfig"

source "drivers/virtio/Kconfig"
Expand Down
1 change: 0 additions & 1 deletion drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
2 changes: 1 addition & 1 deletion drivers/kvm/iodev.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion drivers/kvm/kvm_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
9 changes: 4 additions & 5 deletions drivers/kvm/x86.h → include/asm-x86/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -102,7 +101,7 @@ enum {
VCPU_SREG_LDTR,
};

#include "x86_emulate.h"
#include <asm/kvm_x86_emulate.h>

#define KVM_NR_MEM_OBJS 40

Expand Down
File renamed without changes.
8 changes: 4 additions & 4 deletions drivers/kvm/kvm.h → include/linux/kvm_host.h
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
File renamed without changes.

0 comments on commit edf8841

Please sign in to comment.