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 <b...@kernel.crashing.org>
>> Signed-off-by: Cédric Le Goater <c...@kaod.org>
>> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
>> ---
>>  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