[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.
>
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, (continued)
- 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/08
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Benjamin Herrenschmidt, 2016/07/08
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Benjamin Herrenschmidt, 2016/07/08
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Benjamin Herrenschmidt, 2016/07/08
- Re: [Qemu-devel] [Qemu-ppc] [PULL 05/23] ppc: Enforce setting MSR:EE, IR and DR when MSR:PR is set, Benjamin Herrenschmidt, 2016/07/08
- [Qemu-devel] [PATCH] ppc: Fix support for odd MSR combinations, Benjamin Herrenschmidt, 2016/07/08
- Re: [Qemu-devel] [PATCH] ppc: Fix support for odd MSR combinations, Benjamin Herrenschmidt, 2016/07/08
- [Qemu-devel] [PATCH v2] ppc: Fix support for odd MSR combinations, Benjamin Herrenschmidt, 2016/07/08
- Re: [Qemu-devel] [PATCH v2] ppc: Fix support for odd MSR combinations, Benjamin Herrenschmidt, 2016/07/08
- 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/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, Benjamin Herrenschmidt, 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, 2016/07/09
[Qemu-devel] [PULL 18/23] target-ppc: gen_pause for instructions: yield, mdoio, mdoom, miso, David Gibson, 2016/07/01
[Qemu-devel] [PULL 07/23] ppc: LPCR is a HV resource, David Gibson, 2016/07/01
[Qemu-devel] [PULL 09/23] hw/ppc/spapr: Add some missing hcall function set strings, David Gibson, 2016/07/01
[Qemu-devel] [PULL 22/23] spapr: drop duplicate variable in spapr_core_release(), David Gibson, 2016/07/01
[Qemu-devel] [PULL 11/23] spapr: Restore support for older PowerPC CPU cores, David Gibson, 2016/07/01
[Qemu-devel] [PULL 13/23] ppc: Fix 64K pages support in full emulation, David Gibson, 2016/07/01
[Qemu-devel] [PULL 03/23] ppc: Use a helper to filter writes to LPCR, David Gibson, 2016/07/01
[Qemu-devel] [PULL 12/23] target-ppc: Eliminate redundant and incorrect function booke206_page_size_to_tlb, David Gibson, 2016/07/01