qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
@ 2019-02-26 22:25 Andrew Randrianasulu
  2019-02-28  5:06 ` Mark Cave-Ayland
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Randrianasulu @ 2019-02-26 22:25 UTC (permalink / raw)
  To: qemu-devel

Hello.

I bisected this problem with fonts (and multicolored vertical stripes) in qemu 
git (ppc64-softmmu)

guest@slax:/dev/shm/qemu$ git bisect good
7b8fe477e12b164dda97f79e27b55b805d90384f is the first bad commit
commit 7b8fe477e12b164dda97f79e27b55b805d90384f
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Fri Feb 15 10:00:46 2019 +0000

    target/ppc: convert VSX logical operations to vector operations

    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

:040000 040000 da3024ad2c9dfc3b7170516a8b321ef8c5d5bdf8 
a0257b9f5880ecc8e7001a59ccaa10407084623f M      target


guest@slax:/dev/shm/qemu$ git bisect log
git bisect start
# good: [32a1a94dd324d33578dca1dc96d7896a0244d768] Update version for v3.1.0 
release
git bisect good 32a1a94dd324d33578dca1dc96d7896a0244d768
# bad: [86c7e2f4a93322a76afea5ee6806a83420d1dfea] Merge remote-tracking 
branch 'remotes/berrange/tags/authz-core-pull-request' into staging
git bisect bad 86c7e2f4a93322a76afea5ee6806a83420d1dfea
# good: [95ebd99dcd37b8574426c876502bfcc7c299584b] target/arm: Decode PAuth 
within disas_data_proc_1src
git bisect good 95ebd99dcd37b8574426c876502bfcc7c299584b
# good: [268dfefa690b2bdee1f8c5090d2343871cf3467c] hw/microblaze/Makefile.objs: 
Create configs for petalogix and xilinx boards
git bisect good 268dfefa690b2bdee1f8c5090d2343871cf3467c
# good: [f5117fd28552fe3fe32ef0495582b1caaef7a28d] hw/mips_cpc: kick a VP when 
putting it into Run statewq
git bisect good f5117fd28552fe3fe32ef0495582b1caaef7a28d
# bad: [2e68b8620637a4ee8c79b5724144b726af1e261b] Merge remote-tracking 
branch 'remotes/dgibson/tags/ppc-for-4.0-20190219' into staging
git bisect bad 2e68b8620637a4ee8c79b5724144b726af1e261b
# good: [4c668f4a3d684ec133a52d936314379f6edd672e] target/ppc: Remove some #if 
0'ed code
git bisect good 4c668f4a3d684ec133a52d936314379f6edd672e
# bad: [9b5b74da0a07a89ef71c7f7da0b36560a3bac521] target/ppc: Split out VSCR_SAT 
to a vector field
git bisect bad 9b5b74da0a07a89ef71c7f7da0b36560a3bac521
# good: [444d6ca301d97de141a502851940943b09a9ebee] spapr/irq: Use the "simple" 
ICS class for KVM
git bisect good 444d6ca301d97de141a502851940943b09a9ebee
# bad: [9bb0048ec6f8f3bcc144b2c5769d9301e824f946] target/ppc: convert xxspltw to 
vector operations
git bisect bad 9bb0048ec6f8f3bcc144b2c5769d9301e824f946
# good: [471ff3d0257135b938d0a5f2181f22cd753d50de] target/ppc: convert 
vspltis[bhw] to use vector operations
git bisect good 471ff3d0257135b938d0a5f2181f22cd753d50de
# bad: [7b8fe477e12b164dda97f79e27b55b805d90384f] target/ppc: convert VSX 
logical operations to vector operations
git bisect bad 7b8fe477e12b164dda97f79e27b55b805d90384f
# good: [0f6a6d5db853c0cbe438c1831c70710bfb6530ee] target/ppc: convert 
vsplt[bhw] to use vector operations
git bisect good 0f6a6d5db853c0cbe438c1831c70710bfb6530ee
# first bad commit: [7b8fe477e12b164dda97f79e27b55b805d90384f] target/ppc: 
convert VSX logical operations to vector operations
guest@slax:/dev/shm/qemu$                                                

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.

               

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-02-26 22:25 [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest Andrew Randrianasulu
@ 2019-02-28  5:06 ` Mark Cave-Ayland
  2019-02-28  8:39   ` Andrew Randrianasulu
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Cave-Ayland @ 2019-02-28  5:06 UTC (permalink / raw)
  To: Andrew Randrianasulu, qemu-devel, qemu-ppc@nongnu.org
  Cc: Richard Henderson, David Gibson

On 26/02/2019 22:25, Andrew Randrianasulu wrote:

(adding qemu-ppc, Richard and David - please make sure you add the relevant
maintainer on bug reports, as otherwise due to the high volume of mails to the list
it's very easy to miss things)

> Hello.
> 
> I bisected this problem with fonts (and multicolored vertical stripes) in qemu 
> git (ppc64-softmmu)
> 
> guest@slax:/dev/shm/qemu$ git bisect good
> 7b8fe477e12b164dda97f79e27b55b805d90384f is the first bad commit
> commit 7b8fe477e12b164dda97f79e27b55b805d90384f
> Author: Richard Henderson <richard.henderson@linaro.org>
> Date:   Fri Feb 15 10:00:46 2019 +0000
> 
>     target/ppc: convert VSX logical operations to vector operations
> 
>     Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>     Acked-by: David Gibson <david@gibson.dropbear.id.au>
>     Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
>     Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> 
> :040000 040000 da3024ad2c9dfc3b7170516a8b321ef8c5d5bdf8 
> a0257b9f5880ecc8e7001a59ccaa10407084623f M      target
> 
> 
> guest@slax:/dev/shm/qemu$ git bisect log
> git bisect start
> # good: [32a1a94dd324d33578dca1dc96d7896a0244d768] Update version for v3.1.0 
> release
> git bisect good 32a1a94dd324d33578dca1dc96d7896a0244d768
> # bad: [86c7e2f4a93322a76afea5ee6806a83420d1dfea] Merge remote-tracking 
> branch 'remotes/berrange/tags/authz-core-pull-request' into staging
> git bisect bad 86c7e2f4a93322a76afea5ee6806a83420d1dfea
> # good: [95ebd99dcd37b8574426c876502bfcc7c299584b] target/arm: Decode PAuth 
> within disas_data_proc_1src
> git bisect good 95ebd99dcd37b8574426c876502bfcc7c299584b
> # good: [268dfefa690b2bdee1f8c5090d2343871cf3467c] hw/microblaze/Makefile.objs: 
> Create configs for petalogix and xilinx boards
> git bisect good 268dfefa690b2bdee1f8c5090d2343871cf3467c
> # good: [f5117fd28552fe3fe32ef0495582b1caaef7a28d] hw/mips_cpc: kick a VP when 
> putting it into Run statewq
> git bisect good f5117fd28552fe3fe32ef0495582b1caaef7a28d
> # bad: [2e68b8620637a4ee8c79b5724144b726af1e261b] Merge remote-tracking 
> branch 'remotes/dgibson/tags/ppc-for-4.0-20190219' into staging
> git bisect bad 2e68b8620637a4ee8c79b5724144b726af1e261b
> # good: [4c668f4a3d684ec133a52d936314379f6edd672e] target/ppc: Remove some #if 
> 0'ed code
> git bisect good 4c668f4a3d684ec133a52d936314379f6edd672e
> # bad: [9b5b74da0a07a89ef71c7f7da0b36560a3bac521] target/ppc: Split out VSCR_SAT 
> to a vector field
> git bisect bad 9b5b74da0a07a89ef71c7f7da0b36560a3bac521
> # good: [444d6ca301d97de141a502851940943b09a9ebee] spapr/irq: Use the "simple" 
> ICS class for KVM
> git bisect good 444d6ca301d97de141a502851940943b09a9ebee
> # bad: [9bb0048ec6f8f3bcc144b2c5769d9301e824f946] target/ppc: convert xxspltw to 
> vector operations
> git bisect bad 9bb0048ec6f8f3bcc144b2c5769d9301e824f946
> # good: [471ff3d0257135b938d0a5f2181f22cd753d50de] target/ppc: convert 
> vspltis[bhw] to use vector operations
> git bisect good 471ff3d0257135b938d0a5f2181f22cd753d50de
> # bad: [7b8fe477e12b164dda97f79e27b55b805d90384f] target/ppc: convert VSX 
> logical operations to vector operations
> git bisect bad 7b8fe477e12b164dda97f79e27b55b805d90384f
> # good: [0f6a6d5db853c0cbe438c1831c70710bfb6530ee] target/ppc: convert 
> vsplt[bhw] to use vector operations
> git bisect good 0f6a6d5db853c0cbe438c1831c70710bfb6530ee
> # first bad commit: [7b8fe477e12b164dda97f79e27b55b805d90384f] target/ppc: 
> convert VSX logical operations to vector operations
> guest@slax:/dev/shm/qemu$                                                
> 
> 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?


ATB,

Mark.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-02-28  5:06 ` Mark Cave-Ayland
@ 2019-02-28  8:39   ` Andrew Randrianasulu
  2019-02-28 16:59     ` Mark Cave-Ayland
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Randrianasulu @ 2019-02-28  8:39 UTC (permalink / raw)
  To: Mark Cave-Ayland
  Cc: qemu-devel, qemu-ppc@nongnu.org, Richard Henderson, David Gibson

В сообщении от Thursday 28 February 2019 08:06:45 Mark Cave-Ayland написал(а):
> On 26/02/2019 22:25, Andrew Randrianasulu wrote:
>
> (adding qemu-ppc, Richard and David - please make sure you add the relevant
> maintainer on bug reports, as otherwise due to the high volume of mails to
> the list it's very easy to miss things)

ok


>
> > Hello.
> >
> > I bisected this problem with fonts (and multicolored vertical stripes) in
> > qemu git (ppc64-softmmu)
> >
> > guest@slax:/dev/shm/qemu$ git bisect good
> > 7b8fe477e12b164dda97f79e27b55b805d90384f is the first bad commit
> > commit 7b8fe477e12b164dda97f79e27b55b805d90384f
> > Author: Richard Henderson <richard.henderson@linaro.org>
> > Date:   Fri Feb 15 10:00:46 2019 +0000
> >
> >     target/ppc: convert VSX logical operations to vector operations
> >
> >     Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> >     Acked-by: David Gibson <david@gibson.dropbear.id.au>
> >     Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
> >     Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> >
> > :040000 040000 da3024ad2c9dfc3b7170516a8b321ef8c5d5bdf8
> >
> > a0257b9f5880ecc8e7001a59ccaa10407084623f M      target
> >
> >
> > guest@slax:/dev/shm/qemu$ git bisect log
> > git bisect start
> > # good: [32a1a94dd324d33578dca1dc96d7896a0244d768] Update version for
> > v3.1.0 release
> > git bisect good 32a1a94dd324d33578dca1dc96d7896a0244d768
> > # bad: [86c7e2f4a93322a76afea5ee6806a83420d1dfea] Merge remote-tracking
> > branch 'remotes/berrange/tags/authz-core-pull-request' into staging
> > git bisect bad 86c7e2f4a93322a76afea5ee6806a83420d1dfea
> > # good: [95ebd99dcd37b8574426c876502bfcc7c299584b] target/arm: Decode
> > PAuth within disas_data_proc_1src
> > git bisect good 95ebd99dcd37b8574426c876502bfcc7c299584b
> > # good: [268dfefa690b2bdee1f8c5090d2343871cf3467c]
> > hw/microblaze/Makefile.objs: Create configs for petalogix and xilinx
> > boards
> > git bisect good 268dfefa690b2bdee1f8c5090d2343871cf3467c
> > # good: [f5117fd28552fe3fe32ef0495582b1caaef7a28d] hw/mips_cpc: kick a VP
> > when putting it into Run statewq
> > git bisect good f5117fd28552fe3fe32ef0495582b1caaef7a28d
> > # bad: [2e68b8620637a4ee8c79b5724144b726af1e261b] Merge remote-tracking
> > branch 'remotes/dgibson/tags/ppc-for-4.0-20190219' into staging
> > git bisect bad 2e68b8620637a4ee8c79b5724144b726af1e261b
> > # good: [4c668f4a3d684ec133a52d936314379f6edd672e] target/ppc: Remove
> > some #if 0'ed code
> > git bisect good 4c668f4a3d684ec133a52d936314379f6edd672e
> > # bad: [9b5b74da0a07a89ef71c7f7da0b36560a3bac521] target/ppc: Split out
> > VSCR_SAT to a vector field
> > git bisect bad 9b5b74da0a07a89ef71c7f7da0b36560a3bac521
> > # good: [444d6ca301d97de141a502851940943b09a9ebee] spapr/irq: Use the
> > "simple" ICS class for KVM
> > git bisect good 444d6ca301d97de141a502851940943b09a9ebee
> > # bad: [9bb0048ec6f8f3bcc144b2c5769d9301e824f946] target/ppc: convert
> > xxspltw to vector operations
> > git bisect bad 9bb0048ec6f8f3bcc144b2c5769d9301e824f946
> > # good: [471ff3d0257135b938d0a5f2181f22cd753d50de] target/ppc: convert
> > vspltis[bhw] to use vector operations
> > git bisect good 471ff3d0257135b938d0a5f2181f22cd753d50de
> > # bad: [7b8fe477e12b164dda97f79e27b55b805d90384f] target/ppc: convert VSX
> > logical operations to vector operations
> > git bisect bad 7b8fe477e12b164dda97f79e27b55b805d90384f
> > # good: [0f6a6d5db853c0cbe438c1831c70710bfb6530ee] target/ppc: convert
> > vsplt[bhw] to use vector operations
> > git bisect good 0f6a6d5db853c0cbe438c1831c70710bfb6530ee
> > # first bad commit: [7b8fe477e12b164dda97f79e27b55b805d90384f]
> > target/ppc: convert VSX logical operations to vector operations
> > guest@slax:/dev/shm/qemu$
> >
> > 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

>
>
> ATB,
>
> Mark.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-02-28  8:39   ` Andrew Randrianasulu
@ 2019-02-28 16:59     ` Mark Cave-Ayland
  2019-03-06 16:42       ` [Qemu-devel] [Qemu-ppc] " Laurent Vivier
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Cave-Ayland @ 2019-02-28 16:59 UTC (permalink / raw)
  To: Andrew Randrianasulu
  Cc: Richard Henderson, qemu-ppc@nongnu.org, qemu-devel, David Gibson

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.


ATB,

Mark.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-02-28 16:59     ` Mark Cave-Ayland
@ 2019-03-06 16:42       ` Laurent Vivier
  2019-03-06 16:47         ` Mark Cave-Ayland
  0 siblings, 1 reply; 7+ messages in thread
From: Laurent Vivier @ 2019-03-06 16:42 UTC (permalink / raw)
  To: Mark Cave-Ayland, Andrew Randrianasulu
  Cc: qemu-ppc@nongnu.org, Richard Henderson, qemu-devel, David Gibson

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 <richard.henderson@linaro.org>
Date:   Fri Feb 15 10:00:46 2019 +0000

    target/ppc: convert VSX logical operations to vector operations

    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


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
  ^~~~~
...

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-03-06 16:42       ` [Qemu-devel] [Qemu-ppc] " Laurent Vivier
@ 2019-03-06 16:47         ` Mark Cave-Ayland
  2019-03-06 17:15           ` Laurent Vivier
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Cave-Ayland @ 2019-03-06 16:47 UTC (permalink / raw)
  To: Laurent Vivier, Andrew Randrianasulu
  Cc: Richard Henderson, qemu-ppc@nongnu.org, qemu-devel, David Gibson

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 <richard.henderson@linaro.org>
> Date:   Fri Feb 15 10:00:46 2019 +0000
> 
>     target/ppc: convert VSX logical operations to vector operations
> 
>     Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>     Acked-by: David Gibson <david@gibson.dropbear.id.au>
>     Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
>     Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> 
> 
> 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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest
  2019-03-06 16:47         ` Mark Cave-Ayland
@ 2019-03-06 17:15           ` Laurent Vivier
  0 siblings, 0 replies; 7+ messages in thread
From: Laurent Vivier @ 2019-03-06 17:15 UTC (permalink / raw)
  To: Mark Cave-Ayland, Andrew Randrianasulu
  Cc: Richard Henderson, qemu-ppc@nongnu.org, qemu-devel, David Gibson

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 <richard.henderson@linaro.org>
>> Date:   Fri Feb 15 10:00:46 2019 +0000
>>
>>     target/ppc: convert VSX logical operations to vector operations
>>
>>     Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>     Acked-by: David Gibson <david@gibson.dropbear.id.au>
>>     Message-Id: <20190215100058.20015-6-mark.cave-ayland@ilande.co.uk>
>>     Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
>>
>>
>> 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-03-06 17:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-26 22:25 [Qemu-devel] regression: target/ppc: convert VSX logical operations to vector operations broke X for ppc64le guest Andrew Randrianasulu
2019-02-28  5:06 ` Mark Cave-Ayland
2019-02-28  8:39   ` Andrew Randrianasulu
2019-02-28 16:59     ` Mark Cave-Ayland
2019-03-06 16:42       ` [Qemu-devel] [Qemu-ppc] " Laurent Vivier
2019-03-06 16:47         ` Mark Cave-Ayland
2019-03-06 17:15           ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).