[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: |
Mon, 11 Jul 2016 00:14:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0 |
On 07/09/2016 07:42 PM, G 3 wrote:
>> 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.
>
>
> I suggest you use a more up-to-date version of Darwin for PowerPC 64-bit
> support:
>
> https://opensource.apple.com/static/iso/darwinppc-801.cdr.gz
ok. Will do.
Mark,
For OS 9, do you plan to commit these openbios patches soon ?
https://lists.nongnu.org/archive/html/qemu-devel/2015-11/msg02824.html
as we just gave them a good test. Or may be, include them under
a github branch to make them easier to find.
Also, I found out that some OS 9 isos are not supported by qemu.
These are ok :
http://www.emaculation.com/forum/viewtopic.php?f=34&t=7047&sid=0ef8922b24a51d2a9d546300aea69c64&start=250
But the one under :
http://c-obrien.org/qemu-os9/testing/
does not boot. It loops on some CUDA commands and then hangs.
I did not dig further. Is that a known issue ?
Thanks,
C.
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, G 3, 2016/07/09
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set,
Cédric Le Goater <=
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Alfonso Gamboa, 2016/07/10
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Mark Cave-Ayland, 2016/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Cédric Le Goater, 2016/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Cédric Le Goater, 2016/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Mark Cave-Ayland, 2016/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Cédric Le Goater, 2016/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Mark Cave-Ayland, 2016/07/12
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Programmingkid, 2016/07/11
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Mark Cave-Ayland, 2016/07/11