KVM: SVM: Trap access to the cr8 register
[safe/jmp/linux-2.6] / drivers / kvm / i8259.c
index ee6030d..b3cad63 100644 (file)
@@ -27,6 +27,7 @@
  */
 #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
@@ -119,6 +120,11 @@ static void pic_update_irq(struct kvm_pic *s)
                s->irq_request(s->irq_request_opaque, 0);
 }
 
+void kvm_pic_update_irq(struct kvm_pic *s)
+{
+       pic_update_irq(s);
+}
+
 void kvm_pic_set_irq(void *opaque, int irq, int level)
 {
        struct kvm_pic *s = opaque;
@@ -176,10 +182,8 @@ int kvm_pic_read_irq(struct kvm_pic *s)
        return intno;
 }
 
-static void pic_reset(void *opaque)
+void kvm_pic_reset(struct kvm_kpic_state *s)
 {
-       struct kvm_kpic_state *s = opaque;
-
        s->last_irr = 0;
        s->irr = 0;
        s->imr = 0;
@@ -204,7 +208,7 @@ static void pic_ioport_write(void *opaque, u32 addr, u32 val)
        addr &= 1;
        if (addr == 0) {
                if (val & 0x10) {
-                       pic_reset(s);   /* init */
+                       kvm_pic_reset(s);       /* init */
                        /*
                         * deassert a pending interrupt
                         */