    kvm: qemu: prevent set wrong cr8 when using irqchip
    
    this allows running 64-bit Windows
    
    Signed-off-by: Sheng Yang <sheng.yang@intel.com>


---
 qemu/qemu-kvm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c
index 02e3252..b64c5ef 100644
--- a/qemu/qemu-kvm.c
+++ b/qemu/qemu-kvm.c
@@ -518,7 +518,8 @@ static int pre_kvm_run(void *opaque, int vcpu)
 	pthread_mutex_lock(&qemu_mutex);
     }
 
-    kvm_set_cr8(kvm_context, vcpu, cpu_get_apic_tpr(env));
+    if (!kvm_irqchip_in_kernel(kvm_context))
+	kvm_set_cr8(kvm_context, vcpu, cpu_get_apic_tpr(env));
     if (env->interrupt_request & CPU_INTERRUPT_EXIT)
 	return 1;
     pthread_mutex_unlock(&qemu_mutex);

