*/
#include <linux/mm.h>
#include "irq.h"
+#include "kvm.h"
/*
* set irq level. If an edge is detected, then the IRR is set to 1
#ifndef __IRQ_H
#define __IRQ_H
-#include "kvm.h"
+#include <linux/mm_types.h>
+#include <linux/hrtimer.h>
+#include <asm/kvm.h>
#include "iodev.h"
+struct kvm;
+struct kvm_vcpu;
+
typedef void irq_request_func(void *opaque, int level);
struct kvm_kpic_state {
return pic_irqchip(kvm) != NULL;
}
-struct descriptor_table {
- u16 limit;
- unsigned long base;
-} __attribute__((packed));
-
/* The guest did something we don't support. */
#define pr_unimpl(vcpu, fmt, ...) \
do { \
};
extern struct kvm_stats_debugfs_item debugfs_entries[];
+#if defined(CONFIG_X86)
+#include "x86.h"
+#endif
+
#endif
*/
#include "kvm.h"
-#include "x86.h"
-#include "irq.h"
#include "iodev.h"
#include <linux/kvm.h>
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/uaccess.h>
-#include <asm/desc.h>
#include <asm/pgtable.h>
MODULE_AUTHOR("Qumranet");
#define KVM_X86_H
#include "kvm.h"
+#include "irq.h"
#include <linux/types.h>
#include <linux/mm.h>
#include <linux/kvm.h>
#include <linux/kvm_para.h>
+#include <asm/desc.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)
struct x86_emulate_ctxt emulate_ctxt;
};
+struct descriptor_table {
+ u16 limit;
+ unsigned long base;
+} __attribute__((packed));
+
struct kvm_x86_ops {
int (*cpu_has_kvm_support)(void); /* __init */
int (*disabled_by_bios)(void); /* __init */