mbox

[PULL,00/35] s390x updates

Message ID 20190607095237.11364-1-cohuck@redhat.com
State New
Headers show

Pull-request

https://github.com/cohuck/qemu tags/s390x-20190607-1

Message

Cornelia Huck June 7, 2019, 9:52 a.m. UTC
The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)

are available in the Git repository at:

  https://github.com/cohuck/qemu tags/s390x-20190607-1

for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:

  Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)

----------------------------------------------------------------
s390x updates:
- tcg: finalize implementation for the vector facility and
  add it to the 'qemu' cpu model
- linux-user: properly generate ELF_HWCAP
- vfio-ccw: support async command subregion (for halt/clear
  subchannel handling)

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

Cornelia Huck (2):
  MAINTAINERS: cover tests/migration/s390x/
  vfio-ccw: support async command subregion

David Hildenbrand (32):
  s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL
  s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL
  s390x/tcg: Implement VECTOR FIND ELEMENT NOT EQUAL
  s390x/tcg: Implement VECTOR ISOLATE STRING
  s390x/tcg: Implement VECTOR STRING RANGE COMPARE
  s390x: Align vector registers to 16 bytes
  s390x: Use uint64_t for vector registers
  s390x/tcg: Fix max_byte detection for stfle
  s390x/tcg: Store only the necessary amount of doublewords for STFLE
  s390x/tcg: Introduce tcg_s390_vector_exception()
  s390x/tcg: Export float_comp_to_cc() and float(32|64|128)_dcmask()
  s390x/tcg: Implement VECTOR FP ADD
  s390x/tcg: Implement VECTOR FP COMPARE (AND SIGNAL) SCALAR
  s390x/tcg: Implement VECTOR FP COMPARE (EQUAL|HIGH|HIGH OR EQUAL)
  s390x/tcg: Implement VECTOR FP CONVERT FROM FIXED 64-BIT
  s390x/tcg: Implement VECTOR FP CONVERT FROM LOGICAL 64-BIT
  s390x/tcg: Implement VECTOR FP CONVERT TO FIXED 64-BIT
  s390x/tcg: Implement VECTOR FP CONVERT TO LOGICAL 64-BIT
  s390x/tcg: Implement VECTOR FP DIVIDE
  s390x/tcg: Implement VECTOR LOAD FP INTEGER
  s390x/tcg: Implement VECTOR LOAD LENGTHENED
  s390x/tcg: Implement VECTOR LOAD ROUNDED
  s390x/tcg: Implement VECTOR FP MULTIPLY
  s390x/tcg: Implement VECTOR FP MULTIPLY AND (ADD|SUBTRACT)
  s390x/tcg: Implement VECTOR FP PERFORM SIGN OPERATION
  s390x/tcg: Implement VECTOR FP SQUARE ROOT
  s390x/tcg: Implement VECTOR FP SUBTRACT
  s390x/tcg: Implement VECTOR FP TEST DATA CLASS IMMEDIATE
  s390x/tcg: Allow linux-user to use vector instructions
  s390x/tcg: We support the Vector Facility
  s390x: Bump the "qemu" CPU model up to a stripped-down z13
  linux-user: elf: ELF_HWCAP for s390x

Richard Henderson (1):
  s390x/tcg: Use tcg_gen_gvec_bitsel for VECTOR SELECT

 MAINTAINERS                      |   1 +
 hw/s390x/css.c                   |  27 +-
 hw/s390x/s390-virtio-ccw.c       |   2 +
 hw/vfio/ccw.c                    | 110 +++++-
 include/elf.h                    |   1 +
 include/hw/s390x/s390-ccw.h      |   3 +
 linux-user/elfload.c             |  28 ++
 linux-user/s390x/signal.c        |   4 +-
 target/s390x/Makefile.objs       |   3 +-
 target/s390x/arch_dump.c         |   8 +-
 target/s390x/cpu.c               |   3 +
 target/s390x/cpu.h               |   5 +-
 target/s390x/cpu_models.c        |   4 +-
 target/s390x/excp_helper.c       |  21 +-
 target/s390x/fpu_helper.c        |   4 +-
 target/s390x/gdbstub.c           |  16 +-
 target/s390x/gen-features.c      |  10 +-
 target/s390x/helper.c            |  10 +-
 target/s390x/helper.h            |  84 +++++
 target/s390x/insn-data.def       |  58 +++
 target/s390x/internal.h          |   4 +
 target/s390x/kvm.c               |  16 +-
 target/s390x/machine.c           | 128 +++----
 target/s390x/misc_helper.c       |  11 +-
 target/s390x/tcg_s390x.h         |   2 +
 target/s390x/translate.c         |   2 +-
 target/s390x/translate_vx.inc.c  | 507 +++++++++++++++++++++++--
 target/s390x/vec.h               |  40 ++
 target/s390x/vec_fpu_helper.c    | 625 +++++++++++++++++++++++++++++++
 target/s390x/vec_string_helper.c | 473 +++++++++++++++++++++++
 30 files changed, 2065 insertions(+), 145 deletions(-)
 create mode 100644 target/s390x/vec_fpu_helper.c
 create mode 100644 target/s390x/vec_string_helper.c

Comments

Peter Maydell June 7, 2019, 9:57 a.m. UTC | #1
On Fri, 7 Jun 2019 at 10:52, Cornelia Huck <cohuck@redhat.com> wrote:
>
> The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/cohuck/qemu tags/s390x-20190607-1
>
> for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:
>
>   Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)
>
> ----------------------------------------------------------------
> s390x updates:
> - tcg: finalize implementation for the vector facility and
>   add it to the 'qemu' cpu model
> - linux-user: properly generate ELF_HWCAP
> - vfio-ccw: support async command subregion (for halt/clear
>   subchannel handling)
>
> ----------------------------------------------------------------

Hi -- this fails to link on the windows build for me:
  LINK    s390x-softmmu/qemu-system-s390xw.exe
hw/s390x/css.o: In function `sch_handle_halt_func_passthrough':
/home/petmay01/qemu-for-merges/hw/s390x/css.c:1213: undefined
reference to `vfio_ccw_handle_halt'
hw/s390x/css.o: In function `sch_handle_clear_func_passthrough':
/home/petmay01/qemu-for-merges/hw/s390x/css.c:1223: undefined
reference to `vfio_ccw_handle_clear'
collect2: error: ld returned 1 exit status

thanks
-- PMM
Peter Maydell June 7, 2019, 9:58 a.m. UTC | #2
On Fri, 7 Jun 2019 at 10:57, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Fri, 7 Jun 2019 at 10:52, Cornelia Huck <cohuck@redhat.com> wrote:
> >
> > The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:
> >
> >   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)
> >
> > are available in the Git repository at:
> >
> >   https://github.com/cohuck/qemu tags/s390x-20190607-1
> >
> > for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:
> >
> >   Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)
> >
> > ----------------------------------------------------------------
> > s390x updates:
> > - tcg: finalize implementation for the vector facility and
> >   add it to the 'qemu' cpu model
> > - linux-user: properly generate ELF_HWCAP
> > - vfio-ccw: support async command subregion (for halt/clear
> >   subchannel handling)
> >
> > ----------------------------------------------------------------
>
> Hi -- this fails to link on the windows build for me:
>   LINK    s390x-softmmu/qemu-system-s390xw.exe
> hw/s390x/css.o: In function `sch_handle_halt_func_passthrough':
> /home/petmay01/qemu-for-merges/hw/s390x/css.c:1213: undefined
> reference to `vfio_ccw_handle_halt'
> hw/s390x/css.o: In function `sch_handle_clear_func_passthrough':
> /home/petmay01/qemu-for-merges/hw/s390x/css.c:1223: undefined
> reference to `vfio_ccw_handle_clear'
> collect2: error: ld returned 1 exit status

...and same link error on OSX host.

-- PMM
Cornelia Huck June 7, 2019, 10:02 a.m. UTC | #3
On Fri, 7 Jun 2019 10:58:03 +0100
Peter Maydell <peter.maydell@linaro.org> wrote:

> On Fri, 7 Jun 2019 at 10:57, Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > On Fri, 7 Jun 2019 at 10:52, Cornelia Huck <cohuck@redhat.com> wrote:  
> > >
> > > The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:
> > >
> > >   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)
> > >
> > > are available in the Git repository at:
> > >
> > >   https://github.com/cohuck/qemu tags/s390x-20190607-1
> > >
> > > for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:
> > >
> > >   Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)
> > >
> > > ----------------------------------------------------------------
> > > s390x updates:
> > > - tcg: finalize implementation for the vector facility and
> > >   add it to the 'qemu' cpu model
> > > - linux-user: properly generate ELF_HWCAP
> > > - vfio-ccw: support async command subregion (for halt/clear
> > >   subchannel handling)
> > >
> > > ----------------------------------------------------------------  
> >
> > Hi -- this fails to link on the windows build for me:
> >   LINK    s390x-softmmu/qemu-system-s390xw.exe
> > hw/s390x/css.o: In function `sch_handle_halt_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1213: undefined
> > reference to `vfio_ccw_handle_halt'
> > hw/s390x/css.o: In function `sch_handle_clear_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1223: undefined
> > reference to `vfio_ccw_handle_clear'
> > collect2: error: ld returned 1 exit status  
> 
> ...and same link error on OSX host.
> 
> -- PMM

Ugh, I'll take a look.
Cornelia Huck June 7, 2019, 10:06 a.m. UTC | #4
On Fri, 7 Jun 2019 10:58:03 +0100
Peter Maydell <peter.maydell@linaro.org> wrote:

> On Fri, 7 Jun 2019 at 10:57, Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > On Fri, 7 Jun 2019 at 10:52, Cornelia Huck <cohuck@redhat.com> wrote:  
> > >
> > > The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:
> > >
> > >   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)
> > >
> > > are available in the Git repository at:
> > >
> > >   https://github.com/cohuck/qemu tags/s390x-20190607-1
> > >
> > > for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:
> > >
> > >   Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)
> > >
> > > ----------------------------------------------------------------
> > > s390x updates:
> > > - tcg: finalize implementation for the vector facility and
> > >   add it to the 'qemu' cpu model
> > > - linux-user: properly generate ELF_HWCAP
> > > - vfio-ccw: support async command subregion (for halt/clear
> > >   subchannel handling)
> > >
> > > ----------------------------------------------------------------  
> >
> > Hi -- this fails to link on the windows build for me:
> >   LINK    s390x-softmmu/qemu-system-s390xw.exe
> > hw/s390x/css.o: In function `sch_handle_halt_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1213: undefined
> > reference to `vfio_ccw_handle_halt'
> > hw/s390x/css.o: In function `sch_handle_clear_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1223: undefined
> > reference to `vfio_ccw_handle_clear'
> > collect2: error: ld returned 1 exit status  
> 
> ...and same link error on OSX host.
> 
> -- PMM

Hmpf, it seems I need to rework the vfio-ccw patch to use a callback in
the class...  hoped I could keep the code simple :/
Cornelia Huck June 7, 2019, 1 p.m. UTC | #5
On Fri, 7 Jun 2019 10:58:03 +0100
Peter Maydell <peter.maydell@linaro.org> wrote:

> On Fri, 7 Jun 2019 at 10:57, Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > On Fri, 7 Jun 2019 at 10:52, Cornelia Huck <cohuck@redhat.com> wrote:
> > >
> > > The following changes since commit 47fbad45d47af8af784bb12a5719489edcd89b4c:
> > >
> > >   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-04 17:22:42 +0100)
> > >
> > > are available in the Git repository at:
> > >
> > >   https://github.com/cohuck/qemu tags/s390x-20190607-1
> > >
> > > for you to fetch changes up to 39f04d18406862bd98d6bef5415dbe7360c652de:
> > >
> > >   Merge tag 's390x-tcg-2019-06-05' into s390-next-staging (2019-06-07 11:38:42 +0200)
> > >
> > > ----------------------------------------------------------------
> > > s390x updates:
> > > - tcg: finalize implementation for the vector facility and
> > >   add it to the 'qemu' cpu model
> > > - linux-user: properly generate ELF_HWCAP
> > > - vfio-ccw: support async command subregion (for halt/clear
> > >   subchannel handling)
> > >
> > > ----------------------------------------------------------------
> >
> > Hi -- this fails to link on the windows build for me:
> >   LINK    s390x-softmmu/qemu-system-s390xw.exe
> > hw/s390x/css.o: In function `sch_handle_halt_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1213: undefined
> > reference to `vfio_ccw_handle_halt'
> > hw/s390x/css.o: In function `sch_handle_clear_func_passthrough':
> > /home/petmay01/qemu-for-merges/hw/s390x/css.c:1223: undefined
> > reference to `vfio_ccw_handle_clear'
> > collect2: error: ld returned 1 exit status
> 
> ...and same link error on OSX host.
> 
> -- PMM

OK, I have dropped the vfio-ccw patch until I have a fixed version.
Unfortunately, I need a new tcg pull request... David, can you please
send one? Thanks!