#include <linux/hrtimer.h>
 #include <linux/io.h>
 #include <asm/processor.h>
-#include <asm/msr.h>
 #include <asm/page.h>
 #include <asm/current.h>
-#include <asm/apicdef.h>
-#include <asm/io_apic.h>
 #include "irq.h"
 #if 0
 #define ioapic_debug(fmt,arg...) printk(KERN_WARNING fmt,##arg)
        ioapic_debug("irq %d trig %d deliv %d\n", vector, trig_mode,
                     delivery_mode);
 
-       ASSERT((delivery_mode == dest_Fixed) ||
-              (delivery_mode == dest_LowestPrio));
+       ASSERT((delivery_mode == IOAPIC_FIXED) ||
+              (delivery_mode == IOAPIC_LOWEST_PRIORITY));
 
        kvm_apic_set_irq(vcpu, vector, trig_mode);
 }
        }
 
        switch (delivery_mode) {
-       case dest_LowestPrio:
+       case IOAPIC_LOWEST_PRIORITY:
                vcpu = kvm_get_lowest_prio_vcpu(ioapic->kvm, vector,
                                deliver_bitmask);
                if (vcpu != NULL)
                else
                        ioapic_debug("null lowest prio vcpu: "
                                     "mask=%x vector=%x delivery_mode=%x\n",
-                                    deliver_bitmask, vector, dest_LowestPrio);
+                                    deliver_bitmask, vector, IOAPIC_LOWEST_PRIORITY);
                break;
-       case dest_Fixed:
+       case IOAPIC_FIXED:
                for (vcpu_id = 0; deliver_bitmask != 0; vcpu_id++) {
                        if (!(deliver_bitmask & (1 << vcpu_id)))
                                continue;
 
 #define IOAPIC_REG_VERSION 0x01
 #define IOAPIC_REG_ARB_ID  0x02        /* x86 IOAPIC only */
 
+/*ioapic delivery mode*/
+#define        IOAPIC_FIXED                    0x0
+#define        IOAPIC_LOWEST_PRIORITY          0x1
+#define        IOAPIC_PMI                      0x2
+#define        IOAPIC_NMI                      0x4
+#define        IOAPIC_INIT                     0x5
+#define        IOAPIC_EXTINT                   0x7
+
 struct kvm_ioapic {
        u64 base_address;
        u32 ioregsel;