qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [PATCH 01/10] ppc: Fix rfi/rfid/hrfi/... emu


From: Alexander Graf
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH 01/10] ppc: Fix rfi/rfid/hrfi/... emulation
Date: Fri, 17 Jun 2016 13:11:00 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.1.1


On 17.06.16 13:02, Thomas Huth wrote:
> On 17.06.2016 12:41, Cédric Le Goater wrote:
>> On 06/17/2016 09:10 AM, Thomas Huth wrote:
>>> On 17.06.2016 08:03, Cédric Le Goater wrote:
>>>> On 06/17/2016 07:54 AM, Cédric Le Goater wrote:
>>>>> On 06/17/2016 04:27 AM, David Gibson wrote:
>>>>>> On Thu, Jun 16, 2016 at 11:07:02AM +1000, David Gibson wrote:
>>>>>>> On Mon, Jun 13, 2016 at 07:24:47AM +0200, Cédric Le Goater wrote:
>>>>>>>> From: Benjamin Herrenschmidt <address@hidden>
>>>>>>>>
>>>>>>>> This reworks emulation of the various "rfi" variants. I removed
>>>>>>>> some masking bits that I couldn't make sense of, the only bit that
>>>>>>>> I am aware we should mask here is POW, the CPU's MSR mask should
>>>>>>>> take care of the rest.
>>>>>>>>
>>>>>>>> This also fixes some problems when running 32-bit userspace under
>>>>>>>> a 64-bit kernel.
>>
>> he.
>>
>>>>>>>> Signed-off-by: Benjamin Herrenschmidt <address@hidden>
>>>>>>>> Reviewed-by: David Gibson <address@hidden>
>>>>>>>
>>>>>>> I've merged this patch to ppc-for-2.7.
>>>>>>
>>>>>> ..and now I've removed it again.  It seems that this breaks Thomas'
>>>>>> new test that OpenBIOS runs on the mac machine types.  Not sure why,
>>>>>> but we need to figure that out before I apply.
>>>>>
>>>>> Just this patch ? I booted a macosx image with it. but maybe just a mac99.
>>>>> I will check today.
>>>>
>>>> With your branch ppc-for-2.7 (at commit aba2e6258d86) + the 
>>>> "ppc: Fix rfi/rfid/hrfi/... emulation" patch, these guests : 
>>>>
>>>>    qemu-system-ppc -cdrom ./darwinppc-602.cdr -boot d 
>>>>    qemu-system-ppc -M mac99 -cdrom ./darwinppc-602.cdr -boot d 
>>>                        ^
>>>                        |
>>> You're missing the "64" here ;-)
>>>
>>>> reach the installer macosx installer.
>>>
>>> It seems to be only failing for the 64-bit builds - and there only for
>>> the PPC970 CPU (which is the default for the mac99 machine in 64-bit
>>> builds):
>>>
>>> qemu-system-ppc64 -nographic -cpu 750 -M mac99 ==> works fine
>>>
>>> qemu-system-ppc64 -nographic -cpu 970 -M mac99 ==> hangs
>>
>>
>> This is too brutal :
>>
>> +    /* This instruction doesn't exist anymore on 64-bit server
>> +     * processors compliant with arch 2.x
>> +     */
>> +    if (ctx->insns_flags & PPC_SEGMENT_64B) {
>> +        gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
>> +        return;
>> +    }
>>
>> There are a couple of instructions which have been deleted from 
>> ISA 2.x. rfi is one of them. Could we use a insn_flag to filter
>> them  ? 
> 
> According to the PPC970FX user manual that I have:
> 
> "The 970FX does not provide support for the following optional or
>  obsolete instructions (or instruction forms).
>  Attempted use of these will result in an illegal instruction type
>  program interrupt.
>   [...]
>   · rfi - Return from interrupt (obsolete) "
> 
> So if OpenBIOS is using this instruction in 970 mode, it's maybe
> OpenBIOS that should be fixed instead?

If 970 doesn't implement rfi, OpenBIOS shouldn't use it, yes :).


Alex



reply via email to

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