[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] regression: target/ppc: convert VSX logical
From: |
Mark Cave-Ayland |
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 16:47:30 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 |
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.
ATB,
Mark.