qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 4/9] target-ppc: Refactor init_proc_POWER8


From: Alexey Kardashevskiy
Subject: [Qemu-devel] [PATCH 4/9] target-ppc: Refactor init_proc_POWER8
Date: Wed, 21 May 2014 16:20:23 +1000

This duplicates code of init_proc_POWER7() in init_proc_POWER8() as
there will be registers implemented in POWER7 and missing in POWER8
so we need separate init functions for POWER7 and POWER8.

Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
 target-ppc/translate_init.c | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index b92b447..3c37e93 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -7953,10 +7953,31 @@ POWERPC_FAMILY(POWER7P)(ObjectClass *oc, void *data)
 
 static void init_proc_POWER8(CPUPPCState *env)
 {
-    /* inherit P7 */
-    init_proc_POWER7(env);
+    gen_spr_ne_601(env);
+    gen_spr_7xx(env);
+    /* Time base */
+    gen_tbl(env);
+    gen_spr_book3s_ids(env);
+    gen_spr_book3s_common(env);
+    gen_spr_amr(env);
+    gen_spr_book3s_vr(env);
+    gen_spr_book3s_lpar(env);
+    gen_spr_book3s_purr(env);
+    gen_spr_book3s_debug(env);
+    gen_spr_book3s_pmu(env);
+#if !defined(CONFIG_USER_ONLY)
+    env->slb_nr = 32;
+#endif /* !CONFIG_USER_ONLY */
+    init_excp_POWER7(env);
+    env->dcache_line_size = 128;
+    env->icache_line_size = 128;
+
+    /* Allocate hardware IRQ controller */
+    ppcPOWER7_irq_init(env);
+    /* Can't find information on what this should be on reset.  This
+     * value is the one used by 74xx processors. */
+    vscr_init(env, 0x00010000);
 
-    /* P8 supports the TAR */
     spr_register(env, SPR_TAR, "TAR",
                  &spr_read_generic, &spr_write_generic,
                  &spr_read_generic, &spr_write_generic,
-- 
1.9.rc0




reply via email to

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