[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