From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"open list:PowerPC" <qemu-ppc@nongnu.org>,
"Andreas Färber" <afaerber@suse.de>,
"Anthony Liguori" <anthony@codemonkey.ws>,
"Alexander Graf" <agraf@suse.de>
Subject: [Qemu-devel] [PATCH for-next 15/74] target-ppc: Let cpu_ppc_init() return PowerPCCPU
Date: Sun, 6 May 2012 17:34:15 +0200 [thread overview]
Message-ID: <1336318514-30906-16-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1336318514-30906-1-git-send-email-afaerber@suse.de>
Adapt e500 mpc8544ds machine accordingly.
Let cpu_init() return CPUPPCState for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/ppce500_mpc8544ds.c | 7 +++++--
target-ppc/cpu.h | 4 ++--
target-ppc/helper.c | 4 ++--
3 files changed, 9 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..8ca6c54 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,7 @@ 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
+#define cpu_init(model) (&cpu_ppc_init(model)->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
next prev parent reply other threads:[~2012-05-06 15:35 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-06 15:34 [Qemu-devel] [PATCH for-next 00/74] QOM CPUState, part 3: CPU reset Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 01/74] target-arm: Use cpu_reset() in cpu_arm_init() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 02/74] target-mips: Use cpu_reset() in cpu_mips_init() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 03/74] target-i386: Pass X86CPU to do_cpu_{init, sipi}() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 04/74] target-i386: Let cpu_x86_init() return X86CPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 05/74] pc: Use cpu_x86_init() to obtain X86CPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 06/74] pc: Pass X86CPU to pc_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 07/74] target-sparc: Let cpu_sparc_init() return SPARCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 08/74] sun4m: Use cpu_sparc_init() to obtain SPARCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 09/74] sun4m: Pass SPARCCPU to {main, secondary}_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 10/74] sun4u: Use cpu_sparc_init() to obtain SPARCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 11/74] sun4u: Let cpu_devinit() return SPARCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 12/74] sun4u: Store SPARCCPU in ResetData Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 13/74] leon3: Use cpu_sparc_init() to obtain SPARCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 14/74] leon3: Store SPARCCPU in ResetData Andreas Färber
2012-05-06 15:34 ` Andreas Färber [this message]
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 16/74] ppce500_mpc8544ds: Pass PowerPCCPU to mpc8544ds_cpu_reset[_sec] Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 17/74] spapr: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 18/74] spapr: Pass PowerPCCPU to spapr_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 19/74] ppc440_bamboo: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 20/74] ppc440_bamboo: Pass PowerPCCPU to main_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 21/74] ppc4xx_devs: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 22/74] ppc4xx_devs: Pass PowerPCCPU to ppc4xx_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 23/74] ppc_newworld: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 24/74] ppc_newworld: Pass PowerPCCPU to ppc_core99_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 25/74] ppc_oldworld: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 26/74] ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 27/74] ppc_prep: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 28/74] ppc_prep: Pass PowerPCCPU to ppc_prep_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 29/74] virtex_ml507: Use cpu_ppc_init() to obtain PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 30/74] virtex_ml507: Let ppc440_init_xilinx() return PowerPCCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 31/74] virtex_ml507: Pass PowerPCCPU to main_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 32/74] cpu-exec: Use cpu_reset() in cpu_exec() for TARGET_PPC Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 33/74] pxa2xx: Use cpu_arm_init() and store ARMCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 34/74] omap: Use cpu_arm_init() to store ARMCPU in omap_mpu_state_s Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 35/74] armv7m: Use cpu_arm_init() to obtain ARMCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 36/74] armv7m: Pass ARMCPU to armv7m_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 37/74] arm_boot: Pass ARMCPU to do_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 38/74] target-sh4: Let cpu_sh4_init() return SuperHCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 39/74] r2d: Use cpu_sh4_init() to obtain SuperHCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 40/74] r2d: Store SuperHCPU in ResetData Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 41/74] target-lm32: Let cpu_lm32_init() return LM32CPU Andreas Färber
2012-05-09 18:13 ` Michael Walle
2012-05-09 18:36 ` Andreas Färber
2012-05-09 20:21 ` Peter Maydell
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 42/74] lm32_boards: Use cpu_lm32_init() to obtain LM32CPU Andreas Färber
2012-05-09 18:13 ` Michael Walle
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 43/74] lm32_boards: Store LM32CPU in ResetInfo Andreas Färber
2012-05-09 18:13 ` Michael Walle
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 44/74] milkymist: Use cpu_lm32_init() to obtain LM32CPU Andreas Färber
2012-05-09 18:14 ` Michael Walle
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 45/74] milkymist: Store LM32 in ResetInfo Andreas Färber
2012-05-09 18:14 ` Michael Walle
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 46/74] target-xtensa: Let cpu_xtensa_init() return XtensaCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 47/74] xtensa_sim: Use cpu_xtensa_init() to obtain XtensaCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 48/74] xtensa_sim: Pass XtensaCPU to sim_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 49/74] xtensa_lx60: Use cpu_xtensa_init() to obtain XtensaCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 50/74] xtensa_lx60: Pass XtensaCPU to lx60_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 51/74] target-cris: Reindent cpu_cris_init() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 52/74] target-cris: Let cpu_cris_init() return CRISCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 53/74] axis_dev88: Use cpu_cris_init() to obtain CRISCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 54/74] cris-boot: Pass CRISCPU to cris_load_image() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 55/74] cris-boot: Pass CRISCPU to main_cpu_reset() Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 56/74] target-microblaze: Let cpu_mb_init() return MicroBlazeCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 57/74] petalogix_ml605: Use cpu_mb_init() to obtain MicroBlazeCPU Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 58/74] petalogix_s3adsp1800_mmu: " Andreas Färber
2012-05-06 15:34 ` [Qemu-devel] [PATCH for-next 59/74] microblaze_boot: Pass MicroBlazeCPU to microblaze_load_kernel() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 60/74] target-mips: Use cpu_reset() in do_interrupt() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 61/74] target-mips: Let cpu_mips_init() return MIPSCPU Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 62/74] mips_fulong2e: Use cpu_mips_cpu() to obtain MIPSCPU Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 63/74] mips_fulong2e: Pass MIPSCPU to main_cpu_reset() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 64/74] mips_jazz: Use cpu_mips_init() to obtain MIPSCPU Andreas Färber
2012-05-06 21:48 ` Hervé Poussineau
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 65/74] mips_jazz: Pass MIPSCPU to main_cpu_reset() Andreas Färber
2012-05-06 21:48 ` Hervé Poussineau
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 66/74] mips_malta: Use cpu_mips_init() to obtain MIPSCPU Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 67/74] mips_malta: Pass MIPSCPU to main_cpu_reset() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 68/74] mips_mipssim: Use cpu_mips_init() to obtain MIPSCPU Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 69/74] mips_mipssim: Store MIPSCPU in ResetData Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 70/74] mips_r4k: Use cpu_mips_init() to obtain MIPSCPU Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 71/74] mips_r4k: Store MIPSCPU in ResetData Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 72/74] bsd-user: Use cpu_reset() in after cpu_init() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 73/74] linux-user: Use cpu_reset() after cpu_init() / cpu_copy() Andreas Färber
2012-05-06 15:35 ` [Qemu-devel] [PATCH for-next 74/74] Kill off cpu_state_reset() Andreas Färber
2012-05-09 18:16 ` Michael Walle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1336318514-30906-16-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=anthony@codemonkey.ws \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).