qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10)


From: Nikunj A Dadhania
Subject: Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10)
Date: Fri, 21 Apr 2017 14:46:41 +0530
User-agent: Notmuch/0.23.5 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-redhat-linux-gnu)

Nikunj A Dadhania <address@hidden> writes:

> Richard Henderson <address@hidden> writes:
>
>> On 04/21/2017 12:08 AM, Nikunj A Dadhania wrote:
>>> David Gibson <address@hidden> writes:
>>>
>>>> [ Unknown signature status ]
>>>> Hi all,
>>>>
>>>> I'm afraid I've pulled the MTTCG enablement patches for target/ppc64
>>>> out of my ppc-for-2.10 tree, since I discovered it was causing a
>>>> repeatable failure on one of the Travis builds.
>>>>
>>>> Specifically, with both the LL/SC in terms of cmpxchg and
>>>> enable-mttcg-by-default patches applied, and qemu build with clang,
>>>> then make check will fail with a tcg_abort() in the powernv
>>>> boot-serial test.
>>>
>>> I see that in temp_load(), ts->val_type is ending up being
>>> TEMP_VAL_DEAD, and the tcg_abort() is because of that.
>>>
>>> Following patch gets past this error...
>>>
>>> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
>>> index 4a1f24a..9a4ea5f 100644
>>> --- a/target/ppc/translate.c
>>> +++ b/target/ppc/translate.c
>>> @@ -3169,6 +3169,7 @@ static void gen_conditional_store(DisasContext *ctx, 
>>> TCGv EA,
>>>      tcg_gen_brcond_tl(TCG_COND_NE, EA, cpu_reserve, l1);
>>>
>>>      t0 = tcg_temp_new();
>>> +    tcg_gen_movi_tl(t0, 0);
>>>      tcg_gen_atomic_cmpxchg_tl(t0, cpu_reserve, cpu_reserve_val,
>>>                                cpu_gpr[reg], ctx->mem_idx,
>>>                                DEF_MEMOP(memop) | MO_ALIGN);
>>
>> This *shouldn't* change anything.  The arugument that you're initializing is 
>> pure output and is equivalent to
>>
>>      t0 = 0;
>>      t0 = foo();
>>
>> What's the test case here?
>
> With David's new branch that has PPC64 MTTCG - 
> https://github.com/dgibson/qemu/tree/mttcg
>

BTW, only happens with clang:


./configure --cc=clang --host-cc=clang  --target-list=ppc64-softmmu

> $ ./ppc64-softmmu/qemu-system-ppc64  -machine powernv,usb=off  -vga none 
> -nographic
> /home/nikunj/work/power/code/qemu/tcg/tcg.c:2017: tcg fatal error
> Aborted (core dumped)
> $ 


Regards
Nikunj




reply via email to

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