Patchwork [qom-next,23/59] ppc: Pass PowerPCCPU to ppc40x_set_irq()

login
register
mail settings
Submitter Andreas Färber
Date May 23, 2012, 3:07 a.m.
Message ID <1337742502-28565-24-git-send-email-afaerber@suse.de>
Download mbox | patch
Permalink /patch/160842/
State New
Headers show

Comments

Andreas Färber - May 23, 2012, 3:07 a.m.
Needed for qemu_cpu_kick() and moving halted field to CPUState.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/ppc.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

Patch

diff --git a/hw/ppc.c b/hw/ppc.c
index de1a33b..fc3a65c 100644
--- a/hw/ppc.c
+++ b/hw/ppc.c
@@ -283,9 +283,10 @@  void ppcPOWER7_irq_init(CPUPPCState *env)
 #endif /* defined(TARGET_PPC64) */
 
 /* PowerPC 40x internal IRQ controller */
-static void ppc40x_set_irq (void *opaque, int pin, int level)
+static void ppc40x_set_irq(void *opaque, int pin, int level)
 {
-    CPUPPCState *env = opaque;
+    PowerPCCPU *cpu = opaque;
+    CPUPPCState *env = &cpu->env;
     int cur_level;
 
     LOG_IRQ("%s: env %p pin %d level %d\n", __func__,
@@ -355,10 +356,12 @@  static void ppc40x_set_irq (void *opaque, int pin, int level)
     }
 }
 
-void ppc40x_irq_init (CPUPPCState *env)
+void ppc40x_irq_init(CPUPPCState *env)
 {
+    PowerPCCPU *cpu = ppc_env_get_cpu(env);
+
     env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
-                                                  env, PPC40x_INPUT_NB);
+                                                  cpu, PPC40x_INPUT_NB);
 }
 
 /* PowerPC E500 internal IRQ controller */