qemu-devel
[Top][All Lists]
Advanced

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

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


From: Cédric Le Goater
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 01/10] ppc: Fix rfi/rfid/hrfi/... emulation
Date: Fri, 17 Jun 2016 12:41:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0

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  ? 

Thanks,

C.





reply via email to

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