qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] fa8b0c: virtio-ccw: complete handling of gues


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] fa8b0c: virtio-ccw: complete handling of guest-initiated r...
Date: Thu, 02 Jul 2015 08:30:03 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: fa8b0ca5d1b69975b715a259d3586cadf7a5280f
      
https://github.com/qemu/qemu/commit/fa8b0ca5d1b69975b715a259d3586cadf7a5280f
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-30 (Tue, 30 Jun 2015)

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

  Log Message:
  -----------
  virtio-ccw: complete handling of guest-initiated resets

For a guest-initiated reset, we need to not only reset the virtio device,
but also reset the VirtioCcwDevice into a clean state. This includes
resetting the indicators, or else a guest will not be able to e.g.
switch from classic interrupts to adapter interrupts.

Split off this routine into a new function virtio_ccw_reset_virtio()
to make the distinction between resetting the virtio-related devices
and the base subchannel device clear.

CC: address@hidden
Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>


  Commit: ec7353a146bb39c3bb3e5ccc50ca585aed97b7cf
      
https://github.com/qemu/qemu/commit/ec7353a146bb39c3bb3e5ccc50ca585aed97b7cf
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-30 (Tue, 30 Jun 2015)

  Changed paths:
    M hw/s390x/css.c

  Log Message:
  -----------
  css: mss/mcss-e vs. migration

Our main channel_subsys structure is not a device (yet), but we need
to setup mss/mcss-e again if the guest had enabled it before. Use
a hack that should catch most configurations (assuming that the guest
will have enabled at least one device in higher subchannel sets or
channel subsystems if it enabled the functionality.)

Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bdc7fe3638fa7693eed5886b5b2afe0858d875fc
      
https://github.com/qemu/qemu/commit/bdc7fe3638fa7693eed5886b5b2afe0858d875fc
  Author: Christian Borntraeger <address@hidden>
  Date:   2015-06-30 (Tue, 30 Jun 2015)

  Changed paths:
    M pc-bios/s390-ccw/s390-ccw.h
    M pc-bios/s390-ccw/sclp-ascii.c
    M pc-bios/s390-ccw/start.S

  Log Message:
  -----------
  s390-ccw.img: Consume service interrupts

We have to consume the outstanding service interrupt after each
service call, otherwise a correct implementation will return
CC=2 on subsequent service calls.

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


  Commit: 6e7cd94462d65405037c993fc4401d6fceed6660
      
https://github.com/qemu/qemu/commit/6e7cd94462d65405037c993fc4401d6fceed6660
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-30 (Tue, 30 Jun 2015)

  Changed paths:
    M pc-bios/s390-ccw.img

  Log Message:
  -----------
  s390-ccw.img: update

Update for "s390-ccw.img: Consume service interrupts".

Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 62ac4a52e27c706c860403fd1d8535a9a1073a19
      
https://github.com/qemu/qemu/commit/62ac4a52e27c706c860403fd1d8535a9a1073a19
  Author: Thomas Huth <address@hidden>
  Date:   2015-06-30 (Tue, 30 Jun 2015)

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

  Log Message:
  -----------
  s390x/css: Add a callback for when subchannel gets disabled

We need a possibility to run code when a subchannel gets disabled.
This patch adds the necessary infrastructure.

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: c42767f2bbd18d4ec895395c01c64bbec16b5b84
      
https://github.com/qemu/qemu/commit/c42767f2bbd18d4ec895395c01c64bbec16b5b84
  Author: Thomas Huth <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  s390x/virtio-ccw: add virtio set-revision call

Handle the virtio-ccw revision according to what the guest sets.
When revision 1 is selected, we have a virtio-1 standard device
with byteswapping for the virtio rings.

When a channel gets disabled, we have to revert to the legacy behavior
in case the next user of the device does not negotiate the revision 1
anymore (e.g. the boot firmware uses revision 1, but the operating
system only uses the legacy mode).

Note that revisions > 0 are still disabled.

[CH: assure memory accesses are always BE]
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>


  Commit: 0db87e0d1763d3fb4039c2cffb0f3264da88ab30
      
https://github.com/qemu/qemu/commit/0db87e0d1763d3fb4039c2cffb0f3264da88ab30
  Author: Cornelia Huck <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  s390x/virtio-ccw: support virtio-1 set_vq format

Support the new CCW_CMD_SET_VQ format for virtio-1 devices.

While we're at it, refactor the code a bit and enforce big endian
fields (which had always been required, even for legacy).

Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 213941d73baf8ba7ec5381c8402fed7925d613d4
      
https://github.com/qemu/qemu/commit/213941d73baf8ba7ec5381c8402fed7925d613d4
  Author: Cornelia Huck <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  virtio-ccw: migrate ->revision

We need to migrate the revision field as well. No compatibility
concerns as we already introduced migration of ->config_vector in
this release.

Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 6efd2c2a125b4369b8def585b0dac35c849b5eb3
      
https://github.com/qemu/qemu/commit/6efd2c2a125b4369b8def585b0dac35c849b5eb3
  Author: Christian Borntraeger <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390x/ipl: Fix boot if no bootindex was specified

commit fa92e218df1d ("s390x/ipl: avoid sign extension") introduced
a regression:

qemu-system-s390x -drive file=image.qcow,format=qcow2
does not boot, the bios states
"No virtio-blk device found!"

adding bootindex=1 does boot.

The reason is that the uint32_t as return value will not do the right
thing for the return -1 (default without bootindex).
The bios itself, will interpret a 64bit -1 as autodetect (but it will
interpret 32bit -1 as ccw device address ff.ff.ffff)

Signed-off-by: Christian Borntraeger <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Cornelia Huck <address@hidden>
Cc: address@hidden # v2.3.0
Tested-by: Aurelien Jarno <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 55b1b753dff022dcc95123bed35946b4977d31fa
      
https://github.com/qemu/qemu/commit/55b1b753dff022dcc95123bed35946b4977d31fa
  Author: David Hildenbrand <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M target-s390x/gdbstub.c

  Log Message:
  -----------
  s390x/gdb: synchronize cpu state after modifying acrs

Whenever we touch the access control registers, we have to make sure that
the values will make it into kvm. Otherwise the change will simply be lost.

When synchronizing qemu and kvm, a normal KVM_PUT_RUNTIME_STATE does not take
care of these registers. Let's simply trigger a KVM_PUT_FULL_STATE sync,
so the values will directly be written to kvm. The performance overhead can
be ignored and this is much cleaner than manually writing these registers to kvm
via our two supported ways.

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


  Commit: c4d3c0a2696c09a884b680d15b03325e46656a6c
      
https://github.com/qemu/qemu/commit/c4d3c0a2696c09a884b680d15b03325e46656a6c
  Author: Christian Borntraeger <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  s390x/migration: Introduce 2.4 machine

The section footer changes commit f68945d42bab ("Add a protective
section footer") and commit 37fb569c0198 ("Disable section footers
on older machine types") broke migration for any non-versioned
machines.

This pinpoints a problem of s390-ccw machines: it needs to
be versioned to be compatible with future changes in common
code data structures such as section footers.

Let's introduce a version scheme for s390-ccw-virtio machines.
We will use the old s390-ccw-virtio name as alias to the latest
version as all existing libvirt XML for the ccw type were expanded
by libvirt to that name.

The only downside of this patch is, that the old alias s390-ccw
will no longer be available as machines can have only one alias,
but it should not really matter.

Cc: Dr. David Alan Gilbert <address@hidden>
Cc: Juan Quintela <address@hidden>
Cc: Boris Fiuczynski <address@hidden>
Cc: Jason J. Herne <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 5317b0f6d4bb581c5c8f88f31138ee301ad2b7e5
      
https://github.com/qemu/qemu/commit/5317b0f6d4bb581c5c8f88f31138ee301ad2b7e5
  Author: Peter Maydell <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M hw/s390x/css.c
    M hw/s390x/css.h
    M hw/s390x/ipl.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h
    M pc-bios/s390-ccw.img
    M pc-bios/s390-ccw/s390-ccw.h
    M pc-bios/s390-ccw/sclp-ascii.c
    M pc-bios/s390-ccw/start.S
    M target-s390x/gdbstub.c

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

Several s390x patches including:
- missing virtio-1 related code for virtio-ccw
- bugfixes in ipl device, gdb, virtio-ccw
- bugfix in s390-ccw bios + rebuild
- introduce versioned machines for s390-ccw-virtio

# gpg: Signature made Thu Jul  2 15:05:34 2015 BST using RSA key ID C6F02FAF
# gpg: Good signature from "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"

* remotes/cohuck/tags/s390x-20150702-v3:
  s390x/migration: Introduce 2.4 machine
  s390x/gdb: synchronize cpu state after modifying acrs
  s390x/ipl: Fix boot if no bootindex was specified
  virtio-ccw: migrate ->revision
  s390x/virtio-ccw: support virtio-1 set_vq format
  s390x/virtio-ccw: add virtio set-revision call
  s390x/css: Add a callback for when subchannel gets disabled
  s390-ccw.img: update
  s390-ccw.img: Consume service interrupts
  css: mss/mcss-e vs. migration
  virtio-ccw: complete handling of guest-initiated resets

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


Compare: https://github.com/qemu/qemu/compare/6686ce3f1628...5317b0f6d4bb

reply via email to

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