qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 5/7] target-ppc: Pass PowerPCCPU to cpu_ppc_hyper


From: Andreas Färber
Subject: [Qemu-devel] [PATCH v2 5/7] target-ppc: Pass PowerPCCPU to cpu_ppc_hypercall
Date: Thu, 11 Oct 2012 03:30:07 +0200

Adapt emulate_spapr_hypercall() accordingly.

Needed for changing spapr_hypercall() argument type to PowerPCCPU.

Signed-off-by: Andreas Färber <address@hidden>
---
 hw/spapr.c               |    4 +++-
 target-ppc/cpu.h         |    2 +-
 target-ppc/excp_helper.c |    4 ++--
 3 Dateien geändert, 6 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)

diff --git a/hw/spapr.c b/hw/spapr.c
index 09b8e99..914d60c 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -570,8 +570,10 @@ static uint64_t translate_kernel_address(void *opaque, 
uint64_t addr)
     return (addr & 0x0fffffff) + KERNEL_LOAD_ADDR;
 }
 
-static void emulate_spapr_hypercall(CPUPPCState *env)
+static void emulate_spapr_hypercall(PowerPCCPU *cpu)
 {
+    CPUPPCState *env = &cpu->env;
+
     if (msr_pr) {
         hcall_dprintf("Hypercall made with MSR[PR]=1\n");
         env->gpr[3] = H_PRIVILEGE;
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index faf4404..63eaeaa 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -2221,7 +2221,7 @@ static inline bool msr_is_64bit(CPUPPCState *env, 
target_ulong msr)
     return msr & (1ULL << MSR_SF);
 }
 
-extern void (*cpu_ppc_hypercall)(CPUPPCState *);
+extern void (*cpu_ppc_hypercall)(PowerPCCPU *);
 
 static inline bool cpu_has_work(CPUPPCState *env)
 {
diff --git a/target-ppc/excp_helper.c b/target-ppc/excp_helper.c
index d19a46b..5e34ad0 100644
--- a/target-ppc/excp_helper.c
+++ b/target-ppc/excp_helper.c
@@ -33,7 +33,7 @@
 /*****************************************************************************/
 /* PowerPC Hypercall emulation */
 
-void (*cpu_ppc_hypercall)(CPUPPCState *);
+void (*cpu_ppc_hypercall)(PowerPCCPU *);
 
 /*****************************************************************************/
 /* Exception processing */
@@ -239,7 +239,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int 
excp_model, int excp)
         dump_syscall(env);
         lev = env->error_code;
         if ((lev == 1) && cpu_ppc_hypercall) {
-            cpu_ppc_hypercall(env);
+            cpu_ppc_hypercall(cpu);
             return;
         }
         if (lev == 1 || (lpes0 == 0 && lpes1 == 0)) {
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]