summaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-03 01:06:57 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-03 01:06:57 +0000
commitfe33cc710327455a55bd4f44bc7aa69661cc7878 (patch)
tree5161385f847ff660c479eac5dfbbce8e6a6d0eca /target-ppc
parent00af685fc974e4941ef2d309a2e8818d311a370c (diff)
downloadqemu-fe33cc710327455a55bd4f44bc7aa69661cc7878.tar.gz
Fix PowerPC initialisation and first reset:
reset must occur after we defined the CPU features. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3317 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/helper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index 438cad42a6..daee4c7a18 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -2789,7 +2789,11 @@ void cpu_ppc_reset (void *opaque)
msr_fp = 1; /* Allow floating point exceptions */
msr_pr = 1;
#else
+#if defined(TARGET_PPC64)
+ env->nip = 0x00000100;
+#else
env->nip = 0xFFFFFFFC;
+#endif
ppc_tlb_invalidate_all(env);
#endif
do_compute_hflags(env);
@@ -2810,7 +2814,6 @@ CPUPPCState *cpu_ppc_init (void)
if (!env)
return NULL;
cpu_exec_init(env);
- cpu_ppc_reset(env);
return env;
}