[Qemu-devel] [PULL 00/15] s390x updates

Cornelia Huck posted 15 patches 5 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181004152857.14525-1-cohuck@redhat.com
Test docker-clang@ubuntu failed
Test checkpatch failed
There is a newer version of this series
hw/s390x/css.c                     |  38 ++--
hw/s390x/ipl.h                     |   5 +-
hw/s390x/s390-pci-bus.c            |  34 ++--
hw/s390x/s390-virtio-ccw.c         |  10 +
include/hw/s390x/css.h             |   6 +-
include/hw/s390x/ioinst.h          |  21 +-
include/hw/s390x/s390-virtio-ccw.h |   3 +
target/s390x/cpu.h                 |   9 +
target/s390x/excp_helper.c         |  36 ++++
target/s390x/fpu_helper.c          |  13 +-
target/s390x/helper.h              |   1 +
target/s390x/insn-data.def         | 395 +++++++++++++++++++------------------
target/s390x/interrupt.c           |  15 +-
target/s390x/kvm.c                 |  10 +-
target/s390x/tcg-stub.c            |  10 +
target/s390x/tcg_s390x.h           |   4 +
target/s390x/translate.c           | 203 ++++++++-----------
17 files changed, 430 insertions(+), 383 deletions(-)
[Qemu-devel] [PULL 00/15] s390x updates
Posted by Cornelia Huck 5 years, 5 months ago
The following changes since commit dafd95053611aa14dda40266857608d12ddce658:

  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2018-10-02 18:27:18 +0100)

are available in the Git repository at:

  git://github.com/cohuck/qemu tags/s390x-20181004

for you to fetch changes up to b576d582ea2b03f4eada186fff59308d22b40a6a:

  hw/s390x/s390-pci-bus: Convert sysbus init function to realize function (2018-10-04 12:10:40 +0200)

----------------------------------------------------------------
Various s390x updates:
- fix several struct definitions so that sparc hosts do not trip over
  unaligned accesses
- fence enabling huge pages for pre-3.1 machines
- sysbus init -> realize conversion
- fixes and improvements in tcg (instruction flags and AFP registers)

----------------------------------------------------------------

David Hildenbrand (9):
  s390x: move tcg_s390_program_interrupt() into TCG code and mark it
    noreturn
  s390x/tcg: factor out and fix DATA exception injection
  s390x/tcg: store in the TB flags if AFP is enabled
  s390x/tcg: support flags for instructions
  s390x/tcg: add instruction flags for floating point instructions
  s390x/tcg: check for AFP-register, BFP and DFP data exceptions
  s390x/tcg: handle privileged instructions via flags
  s390x/tcg: fix FP register pair checks
  s390x/tcg: refactor specification checking

Janosch Frank (1):
  s390x: Fence huge pages prior to 3.1

Pavel Zbitskiy (1):
  target/s390x: exception on non-aligned LPSW(E)

Thomas Huth (4):
  hw/s390x/ipl: Fix alignment problems of S390IPLState members
  hw/s390x/css: Remove QEMU_PACKED from struct SenseId
  hw/s390x/ioinst: Fix alignment problem in struct SubchDev
  hw/s390x/s390-pci-bus: Convert sysbus init function to realize
    function

 hw/s390x/css.c                     |  38 ++--
 hw/s390x/ipl.h                     |   5 +-
 hw/s390x/s390-pci-bus.c            |  34 ++--
 hw/s390x/s390-virtio-ccw.c         |  10 +
 include/hw/s390x/css.h             |   6 +-
 include/hw/s390x/ioinst.h          |  21 +-
 include/hw/s390x/s390-virtio-ccw.h |   3 +
 target/s390x/cpu.h                 |   9 +
 target/s390x/excp_helper.c         |  36 ++++
 target/s390x/fpu_helper.c          |  13 +-
 target/s390x/helper.h              |   1 +
 target/s390x/insn-data.def         | 395 +++++++++++++++++++------------------
 target/s390x/interrupt.c           |  15 +-
 target/s390x/kvm.c                 |  10 +-
 target/s390x/tcg-stub.c            |  10 +
 target/s390x/tcg_s390x.h           |   4 +
 target/s390x/translate.c           | 203 ++++++++-----------
 17 files changed, 430 insertions(+), 383 deletions(-)

-- 
2.14.4


Re: [Qemu-devel] [PULL 00/15] s390x updates
Posted by Peter Maydell 5 years, 5 months ago
On 4 October 2018 at 16:28, Cornelia Huck <cohuck@redhat.com> wrote:
> The following changes since commit dafd95053611aa14dda40266857608d12ddce658:
>
>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2018-10-02 18:27:18 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/cohuck/qemu tags/s390x-20181004
>
> for you to fetch changes up to b576d582ea2b03f4eada186fff59308d22b40a6a:
>
>   hw/s390x/s390-pci-bus: Convert sysbus init function to realize function (2018-10-04 12:10:40 +0200)
>
> ----------------------------------------------------------------
> Various s390x updates:
> - fix several struct definitions so that sparc hosts do not trip over
>   unaligned accesses
> - fence enabling huge pages for pre-3.1 machines
> - sysbus init -> realize conversion
> - fixes and improvements in tcg (instruction flags and AFP registers)

Applied, thanks.

-- PMM

Re: [Qemu-devel] [PULL 00/15] s390x updates
Posted by Alex Bennée 5 years, 5 months ago
Peter Maydell <peter.maydell@linaro.org> writes:

> On 4 October 2018 at 16:28, Cornelia Huck <cohuck@redhat.com> wrote:
>> The following changes since commit dafd95053611aa14dda40266857608d12ddce658:
>>
>>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2018-10-02 18:27:18 +0100)
>>
>> are available in the Git repository at:
>>
>>   git://github.com/cohuck/qemu tags/s390x-20181004
>>
>> for you to fetch changes up to b576d582ea2b03f4eada186fff59308d22b40a6a:
>>
>>   hw/s390x/s390-pci-bus: Convert sysbus init function to realize function (2018-10-04 12:10:40 +0200)
>>
>> ----------------------------------------------------------------
>> Various s390x updates:
>> - fix several struct definitions so that sparc hosts do not trip over
>>   unaligned accesses
>> - fence enabling huge pages for pre-3.1 machines
>> - sysbus init -> realize conversion
>> - fixes and improvements in tcg (instruction flags and AFP registers)
>
> Applied, thanks.
<snip>

This pull has broken s390x-linux-user tcg tests:

  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/multiarch/Makefile.target:30: recipe for target 'run-test-mmap' failed
  make[2]: *** [run-test-mmap] Error 132
  make[2]: *** Waiting for unfinished jobs....
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-linux-test' failed
  make[2]: *** [run-linux-test] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-hello-s390x' failed
  make[2]: *** [run-hello-s390x] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-ipm' failed
  make[2]: *** [run-ipm] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-exrl-trtr' failed
  make[2]: *** [run-exrl-trtr] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-testthread' failed
  make[2]: *** [run-testthread] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-exrl-trt' failed
  make[2]: *** [run-exrl-trt] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-sha1' failed
  make[2]: *** [run-sha1] Error 132
  timeout: the monitored command dumped core
  Illegal instruction
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-csst' failed
  make[2]: *** [run-csst] Error 132
  /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile.include:71: recipe for target 'run-guest-tests' failed
  make[1]: *** [run-guest-tests] Error 2
  /home/alex/lsrc/qemu/qemu.git/tests/Makefile.include:968: recipe for target 'run-tcg-tests-s390x-linux-user' failed
  make: *** [run-tcg-tests-s390x-linux-user] Error 2

which are now showing up on Travis (admitidly hidden by the usual Travis
noise). I have bisected the breakage:

  git bisect start
  git bisect bad b576d582ea2b03f4eada186fff59308d22b40a6a
  b576d582ea bad hw/s390x/s390-pci-bus: Convert sysbus init function to realize function
  git bisect good dafd95053611aa14dda40266857608d12ddce658
  dafd950536 good Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
  git bisect good bbf6ea3bd961970785a583117ac1c0b84a8ee736
  bbf6ea3bd9 good s390x/tcg: factor out and fix DATA exception injection
  git bisect bad db0504154ef1feedd135f25f8ca6e9abb5d00bbb
  db0504154e bad s390x/tcg: check for AFP-register, BFP and DFP data exceptions
  git bisect good 82d179336dd696d04495963ca007fa961496d924
  82d179336d good s390x/tcg: support flags for instructions
  git bisect good ca5f31a0f27d265f2220ad43913f70280e8753a2
  ca5f31a0f2 good s390x/tcg: add instruction flags for floating point instructions

Which is points at:

  Bisect Rest (1)
  db0504154e * bad @ s390x/tcg: check for AFP-register, BFP and DFP data exceptions

--
Alex Bennée

Re: [Qemu-devel] [PULL 00/15] s390x updates
Posted by David Hildenbrand 5 years, 5 months ago
On 08/10/2018 17:02, Alex Bennée wrote:
> 
> Peter Maydell <peter.maydell@linaro.org> writes:
> 
>> On 4 October 2018 at 16:28, Cornelia Huck <cohuck@redhat.com> wrote:
>>> The following changes since commit dafd95053611aa14dda40266857608d12ddce658:
>>>
>>>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2018-10-02 18:27:18 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>   git://github.com/cohuck/qemu tags/s390x-20181004
>>>
>>> for you to fetch changes up to b576d582ea2b03f4eada186fff59308d22b40a6a:
>>>
>>>   hw/s390x/s390-pci-bus: Convert sysbus init function to realize function (2018-10-04 12:10:40 +0200)
>>>
>>> ----------------------------------------------------------------
>>> Various s390x updates:
>>> - fix several struct definitions so that sparc hosts do not trip over
>>>   unaligned accesses
>>> - fence enabling huge pages for pre-3.1 machines
>>> - sysbus init -> realize conversion
>>> - fixes and improvements in tcg (instruction flags and AFP registers)
>>
>> Applied, thanks.
> <snip>
> 
> This pull has broken s390x-linux-user tcg tests:
> 
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/multiarch/Makefile.target:30: recipe for target 'run-test-mmap' failed
>   make[2]: *** [run-test-mmap] Error 132
>   make[2]: *** Waiting for unfinished jobs....
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-linux-test' failed
>   make[2]: *** [run-linux-test] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-hello-s390x' failed
>   make[2]: *** [run-hello-s390x] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-ipm' failed
>   make[2]: *** [run-ipm] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-exrl-trtr' failed
>   make[2]: *** [run-exrl-trtr] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-testthread' failed
>   make[2]: *** [run-testthread] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-exrl-trt' failed
>   make[2]: *** [run-exrl-trt] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-sha1' failed
>   make[2]: *** [run-sha1] Error 132
>   timeout: the monitored command dumped core
>   Illegal instruction
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile:96: recipe for target 'run-csst' failed
>   make[2]: *** [run-csst] Error 132
>   /home/alex/lsrc/qemu/qemu.git/tests/tcg/Makefile.include:71: recipe for target 'run-guest-tests' failed
>   make[1]: *** [run-guest-tests] Error 2
>   /home/alex/lsrc/qemu/qemu.git/tests/Makefile.include:968: recipe for target 'run-tcg-tests-s390x-linux-user' failed
>   make: *** [run-tcg-tests-s390x-linux-user] Error 2
> 
> which are now showing up on Travis (admitidly hidden by the usual Travis
> noise). I have bisected the breakage:
> 
>   git bisect start
>   git bisect bad b576d582ea2b03f4eada186fff59308d22b40a6a
>   b576d582ea bad hw/s390x/s390-pci-bus: Convert sysbus init function to realize function
>   git bisect good dafd95053611aa14dda40266857608d12ddce658
>   dafd950536 good Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
>   git bisect good bbf6ea3bd961970785a583117ac1c0b84a8ee736
>   bbf6ea3bd9 good s390x/tcg: factor out and fix DATA exception injection
>   git bisect bad db0504154ef1feedd135f25f8ca6e9abb5d00bbb
>   db0504154e bad s390x/tcg: check for AFP-register, BFP and DFP data exceptions
>   git bisect good 82d179336dd696d04495963ca007fa961496d924
>   82d179336d good s390x/tcg: support flags for instructions
>   git bisect good ca5f31a0f27d265f2220ad43913f70280e8753a2
>   ca5f31a0f2 good s390x/tcg: add instruction flags for floating point instructions
> 
> Which is points at:
> 
>   Bisect Rest (1)
>   db0504154e * bad @ s390x/tcg: check for AFP-register, BFP and DFP data exceptions
> 

Thanks for reporting. We have to enable AFP as default in linux-user (in
control register 0).

Will send a patch later this day.

> --
> Alex Bennée
> 


-- 

Thanks,

David / dhildenb