[Top][All Lists]

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

Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR

From: G 3
Subject: Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set
Date: Sat, 9 Jul 2016 13:42:20 -0400

On 07/09/2016 02:43 AM, Mark Cave-Ayland wrote:

On 01/07/16 07:41, David Gibson wrote:

From: Benjamin Herrenschmidt <b378bb0948277d71c78bc6d0c1ef80a253aafc80>

The architecture specifies that any instruction that sets MSR:PR will also
set MSR:EE, IR and DR.

Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: C?dric Le Goater <address@hidden>
Signed-off-by: David Gibson <address@hidden>
 target-ppc/helper_regs.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target-ppc/helper_regs.h b/target-ppc/helper_regs.h
index 8fc0934..8fdfa5c 100644
--- a/target-ppc/helper_regs.h
+++ b/target-ppc/helper_regs.h
@@ -136,6 +136,10 @@ static inline int hreg_store_msr(CPUPPCState *env, target_ulong value,
         /* Change the exception prefix on PowerPC 601 */
         env->excp_prefix = ((value >> MSR_EP) & 1) * 0xFFF00000;
+    /* If PR=1 then EE, IR and DR must be 1 */
+    if ((value >> MSR_PR) & 1) {
+        value |= (1 << MSR_EE) | (1 << MSR_DR) | (1 << MSR_IR);
+    }
     env->msr = value;

Unfortunately this patch causes a regression and breaks booting OS 9 and
OS X under qemu-system-ppc.

Ah This is curious.

I used :

        qemu-system-ppc -M g3beige -cdrom darwinppc-602.cdr -boot d
        qemu-system-ppc -M mac99 -cdrom darwinppc-602.cdr -boot d
        qemu-system-ppc64 -M g3beige -cdrom darwinppc-602.cdr -boot d

which "work" as they reach the installation prompt :

        The following devices are available for installation.

This one hangs :

        qemu-system-ppc64 -M mac99 -cdrom darwinppc-602.cdr -boot d

But that is expected for a 970 cpu.

The login prompt is reached with a full Darwin disk image.

So I must be missing a scenario :/



I suggest you use a more up-to-date version of Darwin for PowerPC 64- bit support:


reply via email to

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