All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Added ppc440x6 and ppc440x6f cores.
@ 2011-01-27 11:10 Alex Rozenman
  2011-01-29 12:29 ` Andreas Färber
  0 siblings, 1 reply; 2+ messages in thread
From: Alex Rozenman @ 2011-01-27 11:10 UTC (permalink / raw)
  To: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 108 bytes --]

Hi,

Small patch adding ppc440x6 cores.
Please push.

-- 
Best regards,
Alex Rozenman (rozenman@gmail.com).

[-- Attachment #1.2: Type: text/html, Size: 231 bytes --]

[-- Attachment #2: 0001-Added-ppc440x6-and-ppc440x6f-cores.patch --]
[-- Type: text/x-patch, Size: 4026 bytes --]

From 96f21d28bc9dc7404b664a890da299fdaaf86667 Mon Sep 17 00:00:00 2001
From: Alex Rozenman <rozenman@gmail.com>
Date: Thu, 27 Jan 2011 13:06:32 +0200
Subject: [PATCH] Added ppc440x6 and ppc440x6f cores.

---
 target-ppc/translate_init.c |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index dfcd949..bc83e83 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -1403,7 +1403,7 @@ static void gen_spr_BookE (CPUPPCState *env, uint64_t ivor_mask)
     /* XXX : not implemented */
     spr_register(env, SPR_BOOKE_DBCR0, "DBCR0",
                  SPR_NOACCESS, SPR_NOACCESS,
-                 &spr_read_generic, &spr_write_generic,
+                 &spr_read_generic, &spr_write_40x_dbcr0,
                  0x00000000);
     /* XXX : not implemented */
     spr_register(env, SPR_BOOKE_DBCR1, "DBCR1",
@@ -1464,7 +1464,7 @@ static void gen_spr_BookE (CPUPPCState *env, uint64_t ivor_mask)
                  0x00000000);
     spr_register(env, SPR_BOOKE_DECAR, "DECAR",
                  SPR_NOACCESS, SPR_NOACCESS,
-                 SPR_NOACCESS, &spr_write_generic,
+                 SPR_NOACCESS, &spr_write_40x_pit,
                  0x00000000);
     /* SPRGs */
     spr_register(env, SPR_USPRG0, "USPRG0",
@@ -3658,6 +3658,39 @@ static void init_proc_440x5 (CPUPPCState *env)
     ppc40x_irq_init(env);
 }
 
+/* PowerPC 440x6                                                             */
+#define POWERPC_INSNS_440x6  (POWERPC_INSNS_440x5 | PPC_DCRX | PPC_DCRUX)
+#define POWERPC_MSRM_440x6   (POWERPC_MSRM_440x5)
+#define POWERPC_MMU_440x6    (POWERPC_MMU_440x5)
+#define POWERPC_EXCP_440x6   (POWERPC_EXCP_440x5)
+#define POWERPC_INPUT_440x6  (POWERPC_INPUT_440x5)
+#define POWERPC_BFDM_440x6   (POWERPC_BFDM_440x5)
+#define POWERPC_FLAG_440x6   (POWERPC_FLAG_440x5)
+#define check_pow_440x6      check_pow_440x5
+
+static void init_proc_440x6 (CPUPPCState *env)
+{
+    init_proc_440x5 (env);
+}
+
+/* PowerPC 440x6f                                                            */
+#define POWERPC_INSNS_440x6f (POWERPC_INSNS_440x6 | PPC_FLOAT | \
+                              PPC_FLOAT_FRES | PPC_FLOAT_FSEL | \
+                              PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE |     \
+                              PPC_FLOAT_STFIWX)
+#define POWERPC_MSRM_440x6f  (POWERPC_MSRM_440x6)
+#define POWERPC_MMU_440x6f   (POWERPC_MMU_440x6)
+#define POWERPC_EXCP_440x6f  (POWERPC_EXCP_440x6)
+#define POWERPC_INPUT_440x6f (POWERPC_INPUT_440x6)
+#define POWERPC_BFDM_440x6f  (POWERPC_BFDM_440x6)
+#define POWERPC_FLAG_440x6f  (POWERPC_FLAG_440x6)
+#define check_pow_440x6f     check_pow_440x6
+
+static void init_proc_440x6f (CPUPPCState *env)
+{
+    init_proc_440x6 (env);
+}
+
 /* PowerPC 460 (guessed)                                                     */
 #define POWERPC_INSNS_460    (PPC_INSNS_BASE | PPC_STRING |                   \
                               PPC_DCR | PPC_DCRX  | PPC_DCRUX |               \
@@ -6536,6 +6569,8 @@ enum {
     CPU_POWERPC_440A4              = xxx,
 #endif
     CPU_POWERPC_440_XILINX         = 0x7ff21910,
+    CPU_POWERPC_440x6              = 0x7ff21910,
+    CPU_POWERPC_440x6f             = 0x7ff21910,
 #if 0
     CPU_POWERPC_440A5              = xxx,
 #endif
@@ -7466,6 +7501,9 @@ static const ppc_def_t ppc_defs[] = {
 #endif
     /* PowerPC 440 Xilinx 5                                                  */
     POWERPC_DEF("440-Xilinx",    CPU_POWERPC_440_XILINX,             440x5),
+    /* PowerPC 440x6                                                         */
+    POWERPC_DEF("440x6",         CPU_POWERPC_440x6,                  440x6),
+    POWERPC_DEF("440x6f",         CPU_POWERPC_440x6f,                  440x6f),
 #if defined (TODO)
     /* PowerPC 440 A5                                                        */
     POWERPC_DEF("440A5",         CPU_POWERPC_440A5,                  440x5),
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] Added ppc440x6 and ppc440x6f cores.
  2011-01-27 11:10 [Qemu-devel] [PATCH] Added ppc440x6 and ppc440x6f cores Alex Rozenman
@ 2011-01-29 12:29 ` Andreas Färber
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Färber @ 2011-01-29 12:29 UTC (permalink / raw)
  To: Alex Rozenman; +Cc: QEMU Developers, Alexander Graf

Hi,

Am 27.01.2011 um 12:10 schrieb Alex Rozenman:

> Small patch adding ppc440x6 cores.
> Please push.

Please resend your patches using git-send-email so that they can be  
reviewed more easily, and don't forget the Signed-off-by. You should  
cc the ppc maintainers and prefix the subject with target-ppc. A  
longer description and some info on how to test the new code would  
also be nice. Otherwise it looks okay on first sight.

Regards,
Andreas

> -- 
> Best regards,
> Alex Rozenman (rozenman@gmail.com).
>
> <0001-Added-ppc440x6-and-ppc440x6f-cores.patch>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-29 12:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27 11:10 [Qemu-devel] [PATCH] Added ppc440x6 and ppc440x6f cores Alex Rozenman
2011-01-29 12:29 ` Andreas Färber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.