qemu-devel
[Top][All Lists]
Advanced

[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: Cédric Le Goater
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 10:16:46 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0

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);
>> +    }
>>  #endif
>>      env->msr = value;
>>      hreg_compute_hflags(env);
>>
> 
> 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 :/

Thanks,

C.


> 
> ATB,
> 
> Mark.
> 




reply via email to

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