qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] regression: target/ppc: convert VSX logical


From: Laurent Vivier
Subject: Re: [Qemu-ppc] [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
Date: Wed, 6 Mar 2019 18:15:14 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 06/03/2019 17:47, Mark Cave-Ayland wrote:
> On 06/03/2019 16:42, Laurent Vivier wrote:
> 
>> On 28/02/2019 17:59, Mark Cave-Ayland wrote:
>>> On 28/02/2019 08:39, Andrew Randrianasulu wrote:
>>>
>>>>>> configure line:
>>>>>> setarch i686 ./configure --target-list=ppc64-softmmu
>>>>>>
>>>>>> launch line:
>>>>>> ppc64-softmmu/qemu-system-ppc64 -display
>>>>>> sdl,gl=on -hda /mnt/sdb1/PPC-img/alpine_disk.img
>>>>>>
>>>>>> where alpine_disk.img is HDD installed Alpine 3.7 for ppc64le with xfce4
>>>>>> desktop.
>>>>>
>>>>> AFAICT the vector instructions converted here are independent of endian, 
>>>>> so
>>>>> I can't see why this patch on its own would have any effect.
>>>>>
>>>>> Maybe it could be because the "setarch i686" part forces use of some
>>>>> lesser-used 32-bit paths in the vector code - is this required? And do you
>>>>> see the same issue on a x86_64 build?
>>>>
>>>> I use 32-bit Slackware userland with x86_64 kerenl - so setarch prevent 
>>>> most of 
>>>> configures from detecting my arch wrongly.
>>>>
>>>> Yes, bug was and is present with qemu compiled for x86_64 (inside chroot).
>>>> I initially discovered it there, and after dropping -O3 and even 
>>>> march=native, 
>>>> and even disabling avx2 via configure switch - moved to bisect.
>>>>
>>>> https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06414.html
>>>
>>> Can you upload your alpine_disk.img somewhere and then email me the link 
>>> off-list?
>>> I'll see if I can take a look when I get a spare moment.
>>
>> I've also bisected to this commit for a problem with qemu-pp64le.
>>
>> commit 7b8fe477e12b164dda97f79e27b55b805d90384f
>> Author: Richard Henderson <address@hidden>
>> Date:   Fri Feb 15 10:00:46 2019 +0000
>>
>>     target/ppc: convert VSX logical operations to vector operations
>>
>>     Signed-off-by: Richard Henderson <address@hidden>
>>     Acked-by: David Gibson <address@hidden>
>>     Message-Id: <address@hidden>
>>     Signed-off-by: David Gibson <address@hidden>
>>
>>
>> debian stretch ppc64el fails to build the well known hello.c example:
>> # $ cat /tmp/hello.c
>> #include <stdio.h>
>> int main(void)
>> {
>>     printf("Hello World!\n");
>>     return 0;
>> }
>> # cc -o /tmp/hello /tmp/hello.c
>> In file included from <command-line>:0:0:
>> /usr/include/stdc-predef.h:26:2: error: unknown type name '_STDC_'
>>     explicitly includes a system header.  GCC knows the name of this
>>   ^ ~~~~
>> /usr/include/stdc-predef.h:28:1: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '_STDC_PREDEF_H'
>>
>>  ^
>> /usr/include/stdc-predef.h:42:2: error: missing terminating ' character
>>  #endif
>>   ^~~~~
>> ...
> 
> Hi Laurent,
> 
> This should be fixed by the patchset at
> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg00473.html - can you 
> test
> and confirm that it also works for you?
> 
> I'm currently in the process of working on a v2 to address Richard's comments,
> hopefully I will be able to send it through later this evening or tomorrow.

Thank you Mark.

yes, this series fixes the problem for me too.

Thanks,
Laurent




reply via email to

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