There's no need to polute the already poluted CPUState
with "ready_for_interrupt_injection". We can compute it
in the few times we use it, and be fine.

Signed-off-by: Glauber Costa <[EMAIL PROTECTED]>
---
 qemu/qemu-kvm-powerpc.c      |    4 +---
 qemu/qemu-kvm-x86.c          |    4 +---
 qemu/qemu-kvm.c              |    1 -
 qemu/target-i386/cpu.h       |    1 -
 qemu/target-ia64/cpu.h       |    2 --
 qemu/target-ia64/op_helper.c |    1 -
 qemu/target-ppc/cpu.h        |    2 --
 7 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/qemu/qemu-kvm-powerpc.c b/qemu/qemu-kvm-powerpc.c
index 024b18c..553c27f 100644
--- a/qemu/qemu-kvm-powerpc.c
+++ b/qemu/qemu-kvm-powerpc.c
@@ -150,8 +150,6 @@ void kvm_arch_post_kvm_run(void *opaque, int vcpu)
 {
     CPUState *env = qemu_kvm_cpu_env(vcpu);
     cpu_single_env = env;
-    env->ready_for_interrupt_injection = \
-       kvm_is_ready_for_interrupt_injection(kvm_context, vcpu);
 }
 
 int kvm_arch_has_work(CPUState *env)
@@ -170,7 +168,7 @@ int kvm_arch_try_push_interrupts(void *opaque)
 
     /* PowerPC Qemu tracks the various core input pins (interrupt, critical
      * interrupt, reset, etc) in PPC-specific env->irq_input_state. */
-    if (env->ready_for_interrupt_injection &&
+    if (kvm_is_ready_for_interrupt_injection(kvm_context, env->cpu_index) &&
         (env->irq_input_state & (1<<PPC40x_INPUT_INT)))
        {
             /* For now KVM disregards the 'irq' argument. However, in the
diff --git a/qemu/qemu-kvm-x86.c b/qemu/qemu-kvm-x86.c
index 5e43a44..5daedd1 100644
--- a/qemu/qemu-kvm-x86.c
+++ b/qemu/qemu-kvm-x86.c
@@ -620,8 +620,6 @@ void kvm_arch_post_kvm_run(void *opaque, int vcpu)
 
     env->eflags = kvm_get_interrupt_flag(kvm_context, vcpu)
        ? env->eflags | IF_MASK : env->eflags & ~IF_MASK;
-    env->ready_for_interrupt_injection
-       = kvm_is_ready_for_interrupt_injection(kvm_context, vcpu);
 
     cpu_set_apic_tpr(env, kvm_get_cr8(kvm_context, vcpu));
     cpu_set_apic_base(env, kvm_get_apic_base(kvm_context, vcpu));
@@ -640,7 +638,7 @@ int kvm_arch_try_push_interrupts(void *opaque)
     CPUState *env = cpu_single_env;
     int r, irq;
 
-    if (env->ready_for_interrupt_injection &&
+    if (kvm_is_ready_for_interrupt_injection(kvm_context, env->cpu_index) &&
         (env->interrupt_request & CPU_INTERRUPT_HARD) &&
         (env->eflags & IF_MASK)) {
             env->interrupt_request &= ~CPU_INTERRUPT_HARD;
diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c
index 119303e..553875b 100644
--- a/qemu/qemu-kvm.c
+++ b/qemu/qemu-kvm.c
@@ -387,7 +387,6 @@ static int kvm_main_loop_cpu(CPUState *env)
        env->halted = 0;
 
     kvm_qemu_init_env(env);
-    env->ready_for_interrupt_injection = 1;
 #ifdef TARGET_I386
     kvm_tpr_vcpu_start(env);
 #endif
diff --git a/qemu/target-i386/cpu.h b/qemu/target-i386/cpu.h
index 8efc2f4..0cfe730 100644
--- a/qemu/target-i386/cpu.h
+++ b/qemu/target-i386/cpu.h
@@ -566,7 +566,6 @@ typedef struct CPUX86State {
 #endif
 
     uint64_t tsc; /* time stamp counter */
-    uint8_t ready_for_interrupt_injection;
     uint64_t pat;
 
     /* exception/interrupt handling */
diff --git a/qemu/target-ia64/cpu.h b/qemu/target-ia64/cpu.h
index 97358ee..f8e5e8a 100644
--- a/qemu/target-ia64/cpu.h
+++ b/qemu/target-ia64/cpu.h
@@ -51,8 +51,6 @@ typedef struct CPUIA64State {
    int user_mode_only;
    uint32_t hflags;
 
-    uint8_t ready_for_interrupt_injection;
-
 } CPUIA64State;
 
 #define CPUState CPUIA64State
diff --git a/qemu/target-ia64/op_helper.c b/qemu/target-ia64/op_helper.c
index 4969ef7..f582023 100644
--- a/qemu/target-ia64/op_helper.c
+++ b/qemu/target-ia64/op_helper.c
@@ -36,7 +36,6 @@ CPUState *cpu_ia64_init(char *cpu_model){
     cpu_reset(env);
     if (kvm_enabled()) {
        kvm_qemu_init_env(env);
-       env->ready_for_interrupt_injection = 1;
        kvm_init_new_ap(env->cpu_index, env);
     }
     return env;
diff --git a/qemu/target-ppc/cpu.h b/qemu/target-ppc/cpu.h
index 029d1f3..6d98738 100644
--- a/qemu/target-ppc/cpu.h
+++ b/qemu/target-ppc/cpu.h
@@ -574,8 +574,6 @@ struct CPUPPCState {
     /* temporary general purpose registers */
     ppc_gpr_t tgpr[4]; /* Used to speed-up TLB assist handlers */
 
-    uint8_t ready_for_interrupt_injection;
-
     /* Floating point execution context */
     /* temporary float registers */
     float64 ft0;
-- 
1.5.4.5

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to