[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH next v2 15/74] target-ppc: Let cpu_ppc_init() return
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH next v2 15/74] target-ppc: Let cpu_ppc_init() return PowerPCCPU |
Date: |
Thu, 10 May 2012 02:13:53 +0200 |
Adapt e500 mpc8544ds machine accordingly.
Turn cpu_init() into a static inline function returning CPUPPCState for
backwards compatibility.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/ppce500_mpc8544ds.c | 7 +++++--
target-ppc/cpu.h | 12 ++++++++++--
target-ppc/helper.c | 4 ++--
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c
index f1dfbe1..88a2767 100644
--- a/hw/ppce500_mpc8544ds.c
+++ b/hw/ppce500_mpc8544ds.c
@@ -254,12 +254,15 @@ static void mpc8544ds_init(ram_addr_t ram_size,
irqs = g_malloc0(smp_cpus * sizeof(qemu_irq *));
irqs[0] = g_malloc0(smp_cpus * sizeof(qemu_irq) * OPENPIC_OUTPUT_NB);
for (i = 0; i < smp_cpus; i++) {
+ PowerPCCPU *cpu;
qemu_irq *input;
- env = cpu_ppc_init(cpu_model);
- if (!env) {
+
+ cpu = cpu_ppc_init(cpu_model);
+ if (cpu == NULL) {
fprintf(stderr, "Unable to initialize CPU!\n");
exit(1);
}
+ env = &cpu->env;
if (!firstenv) {
firstenv = env;
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index 84c9674..77a2858 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -1099,7 +1099,7 @@ struct mmu_ctx_t {
#include "cpu-qom.h"
/*****************************************************************************/
-CPUPPCState *cpu_ppc_init (const char *cpu_model);
+PowerPCCPU *cpu_ppc_init(const char *cpu_model);
void ppc_translate_init(void);
int cpu_ppc_exec (CPUPPCState *s);
/* you can call this signal handler from your SIGBUS and SIGSEGV
@@ -1214,7 +1214,15 @@ static inline uint64_t ppc_dump_gpr(CPUPPCState *env,
int gprn)
int ppc_dcr_read (ppc_dcr_t *dcr_env, int dcrn, uint32_t *valp);
int ppc_dcr_write (ppc_dcr_t *dcr_env, int dcrn, uint32_t val);
-#define cpu_init cpu_ppc_init
+static inline CPUPPCState *cpu_init(const char *cpu_model)
+{
+ PowerPCCPU *cpu = cpu_ppc_init(cpu_model);
+ if (cpu == NULL) {
+ return NULL;
+ }
+ return &cpu->env;
+}
+
#define cpu_exec cpu_ppc_exec
#define cpu_gen_code cpu_ppc_gen_code
#define cpu_signal_handler cpu_ppc_signal_handler
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index e97e496..42f66e8 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -3191,7 +3191,7 @@ void cpu_state_reset(CPUPPCState *env)
cpu_reset(ENV_GET_CPU(env));
}
-CPUPPCState *cpu_ppc_init (const char *cpu_model)
+PowerPCCPU *cpu_ppc_init(const char *cpu_model)
{
PowerPCCPU *cpu;
CPUPPCState *env;
@@ -3213,5 +3213,5 @@ CPUPPCState *cpu_ppc_init (const char *cpu_model)
qemu_init_vcpu(env);
- return env;
+ return cpu;
}
--
1.7.7
- [Qemu-devel] [PATCH next v2 07/74] target-sparc: Let cpu_sparc_init() return SPARCCPU, (continued)
- [Qemu-devel] [PATCH next v2 07/74] target-sparc: Let cpu_sparc_init() return SPARCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 05/74] pc: Use cpu_x86_init() to obtain X86CPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 06/74] pc: Pass X86CPU to pc_cpu_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 04/74] target-i386: Let cpu_x86_init() return X86CPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 08/74] sun4m: Use cpu_sparc_init() to obtain SPARCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 14/74] leon3: Store SPARCCPU in ResetData, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 12/74] sun4u: Store SPARCCPU in ResetData, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 11/74] sun4u: Let cpu_devinit() return SPARCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 09/74] sun4m: Pass SPARCCPU to {main, secondary}_cpu_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 17/74] spapr: Use cpu_ppc_init() to obtain PowerPCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 15/74] target-ppc: Let cpu_ppc_init() return PowerPCCPU,
Andreas Färber <=
- [Qemu-devel] [PATCH next v2 21/74] ppc4xx_devs: Use cpu_ppc_init() to obtain PowerPCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 20/74] ppc440_bamboo: Pass PowerPCCPU to main_cpu_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 13/74] leon3: Use cpu_sparc_init() to obtain SPARCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 18/74] spapr: Pass PowerPCCPU to spapr_cpu_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 22/74] ppc4xx_devs: Pass PowerPCCPU to ppc4xx_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 23/74] ppc_newworld: Use cpu_ppc_init() to obtain PowerPCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 10/74] sun4u: Use cpu_sparc_init() to obtain SPARCCPU, Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 26/74] ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 24/74] ppc_newworld: Pass PowerPCCPU to ppc_core99_reset(), Andreas Färber, 2012/05/09
- [Qemu-devel] [PATCH next v2 28/74] ppc_prep: Pass PowerPCCPU to ppc_prep_reset(), Andreas Färber, 2012/05/09