qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 6b2573: s390x/tcg: implement spm (SET PROGRAM


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 6b2573: s390x/tcg: implement spm (SET PROGRAM MASK)
Date: Fri, 06 Oct 2017 06:29:44 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 6b257354c4912d536b999ef32968b1cbb8add4f2
      
https://github.com/qemu/qemu/commit/6b257354c4912d536b999ef32968b1cbb8add4f2
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu.h
    M target/s390x/insn-data.def
    M target/s390x/translate.c

  Log Message:
  -----------
  s390x/tcg: implement spm (SET PROGRAM MASK)

Missing and is used inside Linux in the context of CPACF.

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7634d658e601714a917d91367a27340ffa77c3db
      
https://github.com/qemu/qemu/commit/7634d658e601714a917d91367a27340ffa77c3db
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/internal.h
    M target/s390x/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: move wrap_address() to internal.h

We want to use it in another file.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7705c75048cab58ca9c4e25ed5880b20598777cf
      
https://github.com/qemu/qemu/commit/7705c75048cab58ca9c4e25ed5880b20598777cf
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/Makefile.objs
    M target/s390x/cpu_models.c
    A target/s390x/crypto_helper.c
    M target/s390x/helper.h
    M target/s390x/insn-data.def
    M target/s390x/translate.c

  Log Message:
  -----------
  s390x/tcg: add basic MSA features

The STFLE bits for the MSA (extension) facilities simply indicate that
the respective instructions can be executed. The QUERY subfunction can then
be used to identify which features exactly are available.

Availability of subfunctions can also vary on real hardware. For now, we
simply implement a CPU model without any available subfunctions except
QUERY (which is always around).

As all MSA functions behave quite similarly, we can use one translation
handler for now. Prepare the code for implementation of actual subfunctions.

At least MSA is helpful for now, as older Linux kernels require this
facility when compiled for a z9 model. Allow to enable the facilities
for the qemu cpu model.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: b6805e127c6b7815ea3abc6516b461a18d9c4d3d
      
https://github.com/qemu/qemu/commit/b6805e127c6b7815ea3abc6516b461a18d9c4d3d
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/cpu.h
    M target/s390x/cpu_models.c
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x: use generic cpu_model parsing

Define default CPU type in generic way in machine class_init
and let common machine code handle cpu_model parsing.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 947a38bd6f1301a97f3c9c7485e7fa118bbc40cf
      
https://github.com/qemu/qemu/commit/947a38bd6f1301a97f3c9c7485e7fa118bbc40cf
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: fix and cleanup storing CPU status

env->psa is a 64bit value, while we copy 4 bytes into the save area,
resulting always in 0 getting stored.

Let's try to reduce such errors by using a proper structure. While at
it, use correct cpu->be conversion (and get_psw_mask()), as we will be
reusing this code for TCG soon.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 57065a70d00c36f5d20d430eb64d16db8e761c31
      
https://github.com/qemu/qemu/commit/57065a70d00c36f5d20d430eb64d16db8e761c31
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/css.c
    M include/hw/s390x/css.h

  Log Message:
  -----------
  s390x/css: introduce css data stream

This is a preparation for introducing handling for indirect data
addressing and modified indirect data addressing (CCW). Here we introduce
an interface which should make the addressing scheme transparent for the
client code. Here we implement only the basic scheme (no IDA or MIDA).

Signed-off-by: Halil Pasic <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 0a22eac5aaf90b2c2c1a4c29eecc25ef508d520b
      
https://github.com/qemu/qemu/commit/0a22eac5aaf90b2c2c1a4c29eecc25ef508d520b
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/css.c

  Log Message:
  -----------
  s390x/css: use ccw data stream

Replace direct access which implicitly assumes no IDA
or MIDA with the new ccw data stream interface which should
cope with these transparently in the future.

Note that checking the return code for ccw_dstream_* will be
done in a follow-on patch.

Signed-off-by: Halil Pasic <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: f57ba05823b7c444133f0862077b45824a6a89b5
      
https://github.com/qemu/qemu/commit/f57ba05823b7c444133f0862077b45824a6a89b5
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/virtio-ccw.c

  Log Message:
  -----------
  virtio-ccw: use ccw data stream

Replace direct access which implicitly assumes no IDA
or MIDA with the new ccw data stream interface which should
cope with these transparently in the future.

Note that checking the return code for ccw_dstream_* will be
done in a follow-on patch.

Signed-off-by: Halil Pasic <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 62a2554ec2630896d1299e1a282a64c7f3b00da0
      
https://github.com/qemu/qemu/commit/62a2554ec2630896d1299e1a282a64c7f3b00da0
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/css.c
    M include/hw/s390x/css.h

  Log Message:
  -----------
  390x/css: introduce maximum data address checking

The architecture mandates the addresses to be accessed on the first
indirection level (that is, the data addresses without IDA, and the
(M)IDAW addresses with (M)IDA) to be checked against an CCW format
dependent limit maximum address.  If a violation is detected, the storage
access is not to be performed and a channel program check needs to be
generated. As of today, we fail to do this check.

Let us stick even closer to the architecture specification.

Signed-off-by: Halil Pasic <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 93973f8f154e70d6cf22c418e82b0b80213d31b2
      
https://github.com/qemu/qemu/commit/93973f8f154e70d6cf22c418e82b0b80213d31b2
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/css.c

  Log Message:
  -----------
  s390x/css: support ccw IDA

Let's add indirect data addressing support for our virtual channel
subsystem. This implementation does not bother with any kind of
prefetching. We simply step through the IDAL on demand.

Signed-off-by: Halil Pasic <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 0bd695a960bf05f27ad6d710d2b64059037574ce
      
https://github.com/qemu/qemu/commit/0bd695a960bf05f27ad6d710d2b64059037574ce
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/excp_helper.c

  Log Message:
  -----------
  s390x/tcg: fix checking for invalid memory check

It should have been a >=, but let's directly perform a proper access
check to also be able to deal with hotplugged memory later.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: fb66944df92f4cf28b6f66232f82b9dd46ddcdb2
      
https://github.com/qemu/qemu/commit/fb66944df92f4cf28b6f66232f82b9dd46ddcdb2
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu.h
    M target/s390x/excp_helper.c
    M target/s390x/internal.h
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x/tcg: add MMU for real addresses

This makes it easy to access real addresses (prefix) and in addition
checks for valid memory addresses, which is missing when using e.g.
stl_phys().

We can later reuse it to implement low address protection checks (then
we might even decide to introduce yet another MMU for absolute
addresses, just for handling storage keys and low address protection).

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 34499dadc1360c873009a30cd89fa8b9ec269b6e
      
https://github.com/qemu/qemu/commit/34499dadc1360c873009a30cd89fa8b9ec269b6e
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/mem_helper.c
    M target/s390x/translate.c

  Log Message:
  -----------
  s390x/tcg: make lura(g) use the new _real mmu.

Looks like, lurag was not loading 64bit but only 32bit.

As we properly handle the return address now, we can drop
potential_page_fault().

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 4ae433417e36c78cf51fc654fb0e4086d2879a7c
      
https://github.com/qemu/qemu/commit/4ae433417e36c78cf51fc654fb0e4086d2879a7c
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/mem_helper.c
    M target/s390x/translate.c

  Log Message:
  -----------
  s390x/tcg: make stora(g) use the new _real mmu

As we properly handle the return address now, we can drop
potential_page_fault().

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: e26131c9049f63779d38fc3eb61a79722b3499f8
      
https://github.com/qemu/qemu/commit/e26131c9049f63779d38fc3eb61a79722b3499f8
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: make testblock use the new _real mmu

Low address protection checks will be moved into the mmu later.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 8eb82de91b013c0a566c5b79400dde41689129cb
      
https://github.com/qemu/qemu/commit/8eb82de91b013c0a566c5b79400dde41689129cb
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/mem_helper.c

  Log Message:
  -----------
  s390x/tcg: make idte/ipte use the new _real mmu

We don't wrap addresses in the mmu for the _real case, therefore the
behavior should be unchanged.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: c1843e20924c9f79c8233ea34db31f3ae2a74677
      
https://github.com/qemu/qemu/commit/c1843e20924c9f79c8233ea34db31f3ae2a74677
  Author: Christian Borntraeger <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  Revert "s390x/ccw: create s390 phb conditionally"

This reverts commit d32bd032d8fde41281aae34c16a4aa97e9acfeac.

Turns out that old QEMUs always created a pci host bridge
and for many CPU models the migration from old QEMUs to new
QEMUs will fail with
qemu-system-s390x: Unknown savevm section or instance 'PCIBUS' 0
qemu-system-s390x: load of migration failed: Invalid argument

As a quick fix we will revert the commit and always create the
pci host bridge.

Signed-off-by: Christian Borntraeger <address@hidden>
[fixed revert to keep the comment fixup, added a comment in the code]
Cc: Cornelia Huck <address@hidden>
Cc: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 1baa2eb01e349889a25f7a038e6ae7c335f6246b
      
https://github.com/qemu/qemu/commit/1baa2eb01e349889a25f7a038e6ae7c335f6246b
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/char/terminal3270.c
    M hw/s390x/3270-ccw.c
    M include/hw/s390x/3270-ccw.h

  Log Message:
  -----------
  s390x/3270: IDA support for 3270 via CcwDataStream

Let us convert the 3270 code so it uses the recently introduced
CcwDataStream abstraction instead of blindly assuming direct data access.

This patch does not change behavior beyond introducing IDA support: for
direct data access CCWs everything stays as-is. (If there are bugs, they
are also preserved).

Signed-off-by: Halil Pasic <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 17ec9921a7e40d47c05effcf2c254f162bd63aad
      
https://github.com/qemu/qemu/commit/17ec9921a7e40d47c05effcf2c254f162bd63aad
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/char/terminal3270.c

  Log Message:
  -----------
  s390x/3270: handle writes of arbitrary length

The problem is, that the current implementation places unrealistic and
arbitrary constraints on the length of writes to the device (that is the
outbound requests), by asserting ccw.count being such that that even the
worst case escaped payload will fit an  more or less arbitrary sized
buffer. Actually on protocol level there is nothing to justify such
a limitation.

Another strange thing is the return value which more or less reflects
the size (written) after escaping instead of before escaping. This
is strange, because this return value is used to calculate SCSW.count.

Let us teach 3270 how to deal with arbitrary long writes.

Signed-off-by: Halil Pasic <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Reported-by: Jason J . Herne <address@hidden>
Tested-by: Jason J . Herne <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 040078e06d5ed5ce73e5aaaeeb877cbb7a44bdf5
      
https://github.com/qemu/qemu/commit/040078e06d5ed5ce73e5aaaeeb877cbb7a44bdf5
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: use KVM s390x maintainers for kvm-stubs.c and kvm_s390x.h

Forgot it when factoring code out into these files. This is 100% s390x
KVM material.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: c5b934303cf83fe3dda31e8d3e5778458c8a9eeb
      
https://github.com/qemu/qemu/commit/c5b934303cf83fe3dda31e8d3e5778458c8a9eeb
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/cpu.c

  Log Message:
  -----------
  s390x: raise CPU hotplug irq after really hotplugged

Let's move it into the machine, so we trigger the IRQ after setting
ms->possible_cpus (which SCLP uses to construct the list of
online CPUs).

This also fixes a problem reported by Thomas Huth, whereby qemu can be
crashed using the none machine

qemu-s390x-softmmu -M none -monitor stdio
-> device_add qemu-s390-cpu

Reviewed-by: Christian Borntraeger <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: c547a757f492cb037aec81965893046b7ef6d201
      
https://github.com/qemu/qemu/commit/c547a757f492cb037aec81965893046b7ef6d201
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu_features.c

  Log Message:
  -----------
  s390x/cpumodel: fix max STFL(E) bit number

Not that it would matter in the near future, but it is actually 2048
bytes, therefore 16384 possible bits.

Reviewed-by: Christian Borntraeger <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 1e70ba24a906211c26930f4f41a674fcb685f8ef
      
https://github.com/qemu/qemu/commit/1e70ba24a906211c26930f4f41a674fcb685f8ef
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  target/s390x: get rid of next_core_id

core_id is not needed by linux-user, as the core_id a.k.a. CPU address
is only accessible from kernel space.

Therefore, drop next_core_id and make cpu_index get autoassigned again
for linux-user.

While at it, shield core_id and cpuid completely from linux-user. cpuid
can also only be queried from kernel space.

Suggested-by: Igor Mammedov <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: f42dc44a1481949e900cd50846a42c60d756758e
      
https://github.com/qemu/qemu/commit/f42dc44a1481949e900cd50846a42c60d756758e
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/cpu.h

  Log Message:
  -----------
  s390x: introduce and use S390_MAX_CPUS

Will be handy in the future.

Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 86b5ab390992fd57f3a23764994a7e082bcc2fc4
      
https://github.com/qemu/qemu/commit/86b5ab390992fd57f3a23764994a7e082bcc2fc4
  Author: David Hildenbrand <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/misc_helper.c

  Log Message:
  -----------
  s390x/tcg: make STFL store into the lowcore

Using virtual memory access is wrong and will soon include low-address
protection checks, which is to be bypassed for STFL.

STFL is a privileged instruction and using LowCore requires
!CONFIG_USER_ONLY, so add the ifdef and move the declaration to the
right place.

This was originally part of a bigger STFL(E) refactoring.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bd2aef10653e8ad1b61d9a56d3056b8b83cda389
      
https://github.com/qemu/qemu/commit/bd2aef10653e8ad1b61d9a56d3056b8b83cda389
  Author: Cornelia Huck <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/3270-ccw.c
    M hw/s390x/s390-pci-bus.c
    M hw/vfio/ccw.c

  Log Message:
  -----------
  s390x: sort some devices into categories

Add missing categorizations for some s390x devices:
- zpci device -> misc
- 3270 -> display
- vfio-ccw -> misc

Acked-by: Christian Borntraeger <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 489c909f097a387eb6913c89cf1851750397110c
      
https://github.com/qemu/qemu/commit/489c909f097a387eb6913c89cf1851750397110c
  Author: Halil Pasic <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x/css: fix css migration compat handling

Commit e996583eb3 ("s390x/css: activate ChannelSubSys migration",
2017-07-11) was supposed to enable css migration for virtio-ccw
machines starting 2.10, but it ended up effectively enabling it
only for 2.10 as the registration of the appropriate VMStateDescription
happens in ccw_machine_2_10_instance_options which does not get
called for machines more recent than 2_10.

Let us move the corresponding chunk of code (which conditionally enables
the migration based on the value of the corresponding class property) to
ccw_init, which is called for each virtio-ccw machine instance.

Signed-off-by: Halil Pasic <address@hidden>
Reported-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Tested-by: Christian Borntraeger <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7edd4a4967536f9e1a6474223e824049a13dd39c
      
https://github.com/qemu/qemu/commit/7edd4a4967536f9e1a6474223e824049a13dd39c
  Author: Collin L. Walling <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu.c
    M target/s390x/kvm-stub.c
    M target/s390x/kvm.c
    M target/s390x/kvm_s390x.h

  Log Message:
  -----------
  s390/kvm: Support for get/set of extended TOD-Clock for guest

Provides an interface for getting and setting the guest's extended
TOD-Clock via a single ioctl to kvm. If the ioctl fails because it
is not support by kvm, then we fall back to the old style of
retrieving the clock via two ioctls.

Signed-off-by: Collin L. Walling <address@hidden>
Reviewed-by: Eric Farman <address@hidden>
Reviewed-by: Claudio Imbrenda <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
[split failure change from epoch index change]
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
[some cosmetic fixes]


  Commit: 28f8dbe85db3d28f0ecddb48c072533fe58a70ea
      
https://github.com/qemu/qemu/commit/28f8dbe85db3d28f0ecddb48c072533fe58a70ea
  Author: Collin L. Walling <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390/kvm: make TOD setting failures fatal for migration

If we fail to set a proper TOD clock on the target system,  this can
already result in some problematic cases. We print several warn messages
on source and target in that case.

If kvm fails to set a nonzero epoch index, then we must ultimately fail
the migration as this will result in a giant time leap backwards. This
patch lets the migration fail if we can not set the guest time on the
target.

On failure the guest will resume normally on the original host machine.

Signed-off-by: Collin L. Walling <address@hidden>
Reviewed-by: Eric Farman <address@hidden>
Reviewed-by: Claudio Imbrenda <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
[split failure change from epoch index change, minor fixups]
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: e6cb60bf158fe7ea4505d760fdbb7abe4dbf4362
      
https://github.com/qemu/qemu/commit/e6cb60bf158fe7ea4505d760fdbb7abe4dbf4362
  Author: Thomas Huth <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/sclp.c

  Log Message:
  -----------
  s390x/sclp: Mark the sclp device with user_creatable = false

The "sclp" device is just an internal device that can not be instantiated
by the users. If they try to use it, they only get a simple error message:

$ qemu-system-s390x -nographic -device sclp
qemu-system-s390x: Option '-device s390-sclp-event-facility' cannot be
handled by this machine

Since sclp_init() tries to create a TYPE_SCLP_EVENT_FACILITY which is
a non-pluggable sysbus device, there is really no way that the "sclp"
device can be used by the user, so let's set the user_creatable = false
accordingly.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Claudio Imbrenda <address@hidden>
Reviewed-by: Farhan Ali <address@hidden>
Acked-by: Halil Pasic <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7aa4d85d2962a072931657bee964113727ebf0c8
      
https://github.com/qemu/qemu/commit/7aa4d85d2962a072931657bee964113727ebf0c8
  Author: Cornelia Huck <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/sclpcpu.c

  Log Message:
  -----------
  s390x/sclp: mark sclp-cpu-hotplug as non-usercreatable

A TYPE_SCLP_CPU_HOTPLUG device for handling cpu hotplug events
is already created by the sclp event facility. Adding a second
TYPE_SCLP_CPU_HOTPLUG device via -device sclp-cpu-hotplug creates
an ambiguity in raise_irq_cpu_hotplug(), leading to a crash once
a cpu is hotplugged.

To fix this, disallow creating a sclp-cpu-hotplug device manually.

Reviewed-by: Thomas Huth <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 8986db4922cf5b810b775c135d74a75290840660
      
https://github.com/qemu/qemu/commit/8986db4922cf5b810b775c135d74a75290840660
  Author: Cornelia Huck <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M target/s390x/cpu.c

  Log Message:
  -----------
  s390x/tcg: initialize machine check queue

Just as for external interrupts and I/O interrupts, we need to
initialize mchk_index during cpu reset.

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: b923ab3112ed5ab47c2ff35776f17ab54c60d651
      
https://github.com/qemu/qemu/commit/b923ab3112ed5ab47c2ff35776f17ab54c60d651
  Author: Thomas Huth <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M hw/s390x/sclpquiesce.c

  Log Message:
  -----------
  hw/s390x: Mark the "sclpquiesce" device with user_creatable = false

The "sclpquiesce" device is just an internal device that should not be
created by the user directly. Though it currently does not seem to cause
any obvious trouble when the user instantiates an additional device, let's
better mark it with user_creatable = false to avoid unexpected behavior,
e.g. because the quiesce notifier gets registered multiple times.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Reviewed-by: Claudio Imbrenda <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: a26a98dfb9d448d7234d931ae3720feddf6f0651
      
https://github.com/qemu/qemu/commit/a26a98dfb9d448d7234d931ae3720feddf6f0651
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-06 (Fri, 06 Oct 2017)

  Changed paths:
    M MAINTAINERS
    M hw/char/terminal3270.c
    M hw/s390x/3270-ccw.c
    M hw/s390x/css.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/sclp.c
    M hw/s390x/sclpcpu.c
    M hw/s390x/sclpquiesce.c
    M hw/s390x/virtio-ccw.c
    M hw/vfio/ccw.c
    M include/hw/s390x/3270-ccw.h
    M include/hw/s390x/css.h
    M target/s390x/Makefile.objs
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/cpu_features.c
    M target/s390x/cpu_models.c
    A target/s390x/crypto_helper.c
    M target/s390x/excp_helper.c
    M target/s390x/helper.h
    M target/s390x/insn-data.def
    M target/s390x/internal.h
    M target/s390x/kvm-stub.c
    M target/s390x/kvm.c
    M target/s390x/kvm_s390x.h
    M target/s390x/mem_helper.c
    M target/s390x/misc_helper.c
    M target/s390x/mmu_helper.c
    M target/s390x/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20171006' into staging

s390x changes:
- support for IDA (indirect addressing in ccws) via ccw data stream
- support for extended TOD-Clock (z14 feature)
- various fixes and improvements all over the place

# gpg: Signature made Fri 06 Oct 2017 10:52:22 BST
# gpg:                using RSA key 0xDECF6B93C6F02FAF
# gpg: Good signature from "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20171006: (33 commits)
  hw/s390x: Mark the "sclpquiesce" device with user_creatable = false
  s390x/tcg: initialize machine check queue
  s390x/sclp: mark sclp-cpu-hotplug as non-usercreatable
  s390x/sclp: Mark the sclp device with user_creatable = false
  s390/kvm: make TOD setting failures fatal for migration
  s390/kvm: Support for get/set of extended TOD-Clock for guest
  s390x/css: fix css migration compat handling
  s390x: sort some devices into categories
  s390x/tcg: make STFL store into the lowcore
  s390x: introduce and use S390_MAX_CPUS
  target/s390x: get rid of next_core_id
  s390x/cpumodel: fix max STFL(E) bit number
  s390x: raise CPU hotplug irq after really hotplugged
  MAINTAINERS: use KVM s390x maintainers for kvm-stubs.c and kvm_s390x.h
  s390x/3270: handle writes of arbitrary length
  s390x/3270: IDA support for 3270 via CcwDataStream
  Revert "s390x/ccw: create s390 phb conditionally"
  s390x/tcg: make idte/ipte use the new _real mmu
  s390x/tcg: make testblock use the new _real mmu
  s390x/tcg: make stora(g) use the new _real mmu
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/d8f932cc6962...a26a98dfb9d4

reply via email to

[Prev in Thread] Current Thread [Next in Thread]