qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] b39b77: pc-bios/s390-ccw: Pass selected SCSI


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] b39b77: pc-bios/s390-ccw: Pass selected SCSI device to IPL
Date: Mon, 11 Jul 2016 11:30:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b39b7718dc23e9890ea7e770f543e6f2d17cb31b
      
https://github.com/qemu/qemu/commit/b39b7718dc23e9890ea7e770f543e6f2d17cb31b
  Author: Eugene (jno) Dvurechenski <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M pc-bios/s390-ccw/iplb.h
    M pc-bios/s390-ccw/main.c
    M pc-bios/s390-ccw/virtio-scsi.c
    M pc-bios/s390-ccw/virtio.h

  Log Message:
  -----------
  pc-bios/s390-ccw: Pass selected SCSI device to IPL

There is ,bootindex=%d argument to specify the lookup order of
boot devices.

If a bootindex assigned to the device, then IPL Parameter Info Block
is created for that device when it is IPLed from.

If it is a mere SCSI device (not FCP), then IPIB is created with a
special SCSI type and its fields are used to store SCSI address of the
device. This new ipl block is private to qemu for now.

If the device to IPL from is specified this way, then SCSI bus lookup
is bypassed and prescribed devices uses the address specified.

Signed-off-by: Eugene (jno) Dvurechenski <address@hidden>
Signed-off-by: Alexander Yarygin <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 07c6f329bdf37595777ddd334de9bbd24d4eed7c
      
https://github.com/qemu/qemu/commit/07c6f329bdf37595777ddd334de9bbd24d4eed7c
  Author: Cornelia Huck <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  pc-bios/s390-ccw.img: rebuild image

Contains:
- pc-bios/s390-ccw: Pass selected SCSI device to IPL

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


  Commit: e468b6730cb36a475fd4e71f57b020ca37ebd8ae
      
https://github.com/qemu/qemu/commit/e468b6730cb36a475fd4e71f57b020ca37ebd8ae
  Author: Alexander Yarygin <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/ipl: Support IPL from selected SCSI device

If bootindex is specified for a device, we need to IPL from
it. Currently it works for ccw devices, but not for SCSI. To be able to
IPL from the specific device, pc-bios needs to know its address.
For this reason we add special QEMU_SCSI IPL type into the IPLB
structure, that contains the scsi device address.

We enhance the ipl block with a currently qemu-only parameter block
that allows us to specify a concrete scsi device.

Signed-off-by: Alexander Yarygin <address@hidden>
Reviewed-by: Eric Farman <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bb0995468a39f14077ceaa8ed5afdca849f00c7c
      
https://github.com/qemu/qemu/commit/bb0995468a39f14077ceaa8ed5afdca849f00c7c
  Author: David Hildenbrand <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/ipl: fix reboots for migration from different bios

When migrating from a different QEMU version, the start_address and
bios_start_address may differ. During migration these values are migrated
and overwrite the values that were detected by QEMU itself.

On a reboot, QEMU will reload its own BIOS, but use the migrated start
addresses, which does not work if the values differ.

Fix this by not relying on the migrated values anymore, but still
provide them during migration, so existing QEMUs continue to work.

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


  Commit: cf2499350aa4f2b6bdd30792cdf0b7f264fbcb36
      
https://github.com/qemu/qemu/commit/cf2499350aa4f2b6bdd30792cdf0b7f264fbcb36
  Author: Sascha Silbe <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/css: factor out some generic code from virtio_ccw_device_realize()

A lot of what virtio_ccw_device_realize() does isn't specific to
virtio; it would apply to emulated CCW as well. Factor it out to make
it easier to implement emulated CCW devices later on.

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


  Commit: 3f9e4859640c69618446eb95176c31ae6a77c06f
      
https://github.com/qemu/qemu/commit/3f9e4859640c69618446eb95176c31ae6a77c06f
  Author: Sascha Silbe <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/css: use define for "virtual-css-bridge" literal

Introduce a TYPE_* define (like we already use for a couple of other
QOM types) for the name of the virtual CSS bridge QOM type instead of
sprinkling the same string literal over several source files.

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


  Commit: dd70bd0d4cf2e10b0437fc75da50423612871101
      
https://github.com/qemu/qemu/commit/dd70bd0d4cf2e10b0437fc75da50423612871101
  Author: Jing Liu <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/Makefile.objs
    A hw/s390x/css-bridge.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h
    A include/hw/s390x/css-bridge.h

  Log Message:
  -----------
  s390x/css: Factor out virtual css bridge and bus

Currently, common base layers virtual css bridge and bus are
defined in hw/s390x/virtio-ccw.c(h). In order to support
multiple types of devices in the virtual channel subsystem,
especially non virtio-ccw, refactoring work needs to be done.

This work is just a pure code move without any functional change
except dropping an empty function virtual_css_bridge_init() and
virtio_ccw_busdev_unplug() changing. virtio_ccw_busdev_unplug()
is specific to virtio-ccw but gets referenced from the common
virtual css bridge code. To keep the functional changes to a
minimum we export this function from virtio-ccw.c and continue
to reference it inside virtual_css_bridge_class_init()
(now living in hw/s390x/css-bridge.c). A follow-up patch will
clean this up.

Signed-off-by: Jing Liu <address@hidden>
Reviewed-by: Sascha Silbe <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: b804e8a62a25b82637b19aea68ab7d5a7a1ce0fb
      
https://github.com/qemu/qemu/commit/b804e8a62a25b82637b19aea68ab7d5a7a1ce0fb
  Author: Jing Liu <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/Makefile.objs
    A hw/s390x/ccw-device.c
    A hw/s390x/ccw-device.h
    M hw/s390x/css-bridge.c
    M hw/s390x/ipl.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h

  Log Message:
  -----------
  s390x/css: Unplug handler of virtual css bridge

The previous patch moved virtual css bridge and bus out from
virtio-ccw, but kept the direct reference of virtio-ccw specific
unplug function inside css-bridge.c.

To make the virtual css bus and bridge useful for non-virtio devices,
this introduces a common unplug function pointer "unplug" to call
specific virtio-ccw unplug parts. Thus, the tight coupling to
virtio-ccw can be removed.

This unplug pointer is a member of CCWDeviceClass, which is introduced
as an abstract device layer called "ccw-device". This layer is between
DeviceState and specific devices which are plugged in virtual css bus,
like virtio-ccw device. The specific unplug handlers should be assigned
to "unplug" during initialization.

Signed-off-by: Jing Liu <address@hidden>
Reviewed-by: Sascha Silbe <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Reviewed-by: Yi Min Zhao <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: f7c40aa1e7feb50bc4d4bc171fa811bdd9a93e51
      
https://github.com/qemu/qemu/commit/f7c40aa1e7feb50bc4d4bc171fa811bdd9a93e51
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/pci: fix failures of dma map/unmap

In commit d78c19b5cf4821d0c198f4132a085bdbf19dda4c, vfio code stores
the IOMMU's offset_within_address_space and adjusts the IOVA before
calling vfio_dma_map/vfio_dma_unmap. But s390_translate_iommu already
considers the base address of an IOMMU memory region.

Thus we use pal as the size and 0x0 as the base address to initialize
IOMMU memory subregion.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: e7d336959b7c01699702dcda4b54a822972d74a8
      
https://github.com/qemu/qemu/commit/e7d336959b7c01699702dcda4b54a822972d74a8
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/pci: acceleration for getting S390pciState

There are a number of places where the code needs to get the instance
of S390pciState. It calls object_resolve_path() every time. This
wastes a lot of time and leads to low performance. Thus we add
s390_get_phb() to improve it.

Because we always have a phb, we remove all return checkings in the
callers and add an assert in s390_get_phb() to make sure that phb is
getted successfully.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 67aad508decdbbce59faa27072daae0d1d31b1ad
      
https://github.com/qemu/qemu/commit/67aad508decdbbce59faa27072daae0d1d31b1ad
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-inst.c

  Log Message:
  -----------
  s390x/pci: write fid in CLP_QUERY_PCI_FN

We forgot to write the fid; fix that.

Signed-off-by: Yi Min Zhao <address@hidden>
Acked-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: c188e30315dc44cf428f2008df4ea2a9788ac8df
      
https://github.com/qemu/qemu/commit/c188e30315dc44cf428f2008df4ea2a9788ac8df
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c

  Log Message:
  -----------
  s390x/pci: unify FH_ macros

Present code uses some macros to structure PCI Function Handle. But
their names don't have a uniform format. Let's use FH_MASK_ as the
unified prefix.

While we're at it, differentiate the SHM bits: use different bits for
vfio and emulated devices.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 06a96dae11a70f3c519a706639e200a635a2cc55
      
https://github.com/qemu/qemu/commit/06a96dae11a70f3c519a706639e200a635a2cc55
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/pci: refactor s390_pci_find_dev_by_fh

Because this function is called very frequently, we should use a more
effective way to find the zpci device. So we use the FH's index to get
the device directly.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 5d1abf234462d13bef3617cc2c55b6815703ddf2
      
https://github.com/qemu/qemu/commit/5d1abf234462d13bef3617cc2c55b6815703ddf2
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/s390-pci-inst.h
    M include/hw/s390x/sclp.h

  Log Message:
  -----------
  s390x/pci: enforce zPCI state checking

Current code uses some fields combinatorially to indicate the state of
a s390 pci device. This patch introduces device states in order to make
the code more readable and more logical.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 90a0f9afec5e148065f4f48b9dbe4422b0bfd131
      
https://github.com/qemu/qemu/commit/90a0f9afec5e148065f4f48b9dbe4422b0bfd131
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: introduce S390PCIBus

To enable S390PCIBusDevice as qdev, there should be a new bus to
plug and manage all instances of S390PCIBusDevice. Due to this,
S390PCIBus is introduced.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 67d5cd9722b230027d3d4267ae6069c5d8a65463
      
https://github.com/qemu/qemu/commit/67d5cd9722b230027d3d4267ae6069c5d8a65463
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: introduce S390PCIIOMMU

Currently each zpci device holds its own DMA address space and memory
region. At the same time, all instances of zpci device are stored in
S390pciState. So duirng the initialization of S390pciState, all zpci
devices are created and then all DMA address spaces are created. Thus,
when initializing pci devices, their corresponding DMA address spaces
could be found.

But zpci qdev will be introduced later. Zpci device may be initialized
and plugged afterwards generic pci device. So we should initialize all
DMA address spaces and memory regions before initializing zpci devices.

We introduce a new struct named S390PCIIOMMU. And a new field of
S390pciState, which is an array to store all instances of S390PCIIOMMU,
is added so that qemu pci code could find the corresponding DMA
address space when initializing a generic pci device. And this should
be done before the connection of a zpci device and a generic pci
device is built.

Signed-off-by: Yi Min Zhao <address@hidden>
Acked-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 3e5cfba3ca0a3b1010faa171518b0bf69effb2d9
      
https://github.com/qemu/qemu/commit/3e5cfba3ca0a3b1010faa171518b0bf69effb2d9
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: introduce S390PCIBusDevice qdev

To support definitions of s390 pci attributes in Qemu cmdline, we have
to make current S390PCIBusDevice struct inherit DeviceState and add
three properties for it. Currently we only support definitions of uid
and fid.

'uid' is optionally defined by users, identifies a zpci device and
must be defined with a 16-bit and non-zero unique value.

'fid' ranges from 0x0 to 0xFFFFFFFF. For fid property, we introduce a
new PropertyInfo by the name of s390_pci_fid_propinfo with our special
setter and getter. As 'fid' is optional, introduce 'fid_defined' to
track whether the user specified a fid.

'target' field is to direct qemu to find the corresponding generic PCI
device. It is equal to the 'id' value of one of generic pci devices.
If the user doesn't specify 'id' parameter for a generic pci device,
its 'id' value will be generated automatically and use this value as
'target' to create an associated zpci device.

If the user did not specify 'uid' or 'fid', values are generated
automatically. 'target' is required.

In addition, if a pci device has no associated zpci device, the code
will generate a zpci device automatically for it.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bf328399da57450feaeaa24c2539a351e41713db
      
https://github.com/qemu/qemu/commit/bf328399da57450feaeaa24c2539a351e41713db
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/s390-pci-inst.h

  Log Message:
  -----------
  s390x/pci: enable uid-checking

The uid-checking facility guarantees uniqueness of the uid within the
vm and exposes the real uid to the guest when listing pci devices.
Let's always enable it and present it to the guest in the response to
the list pci clp command.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: af9ed379fc6bb662130e17fbc27f6ac0f5909696
      
https://github.com/qemu/qemu/commit/af9ed379fc6bb662130e17fbc27f6ac0f5909696
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/pci: enable zpci hot-plug/hot-unplug

We need to support hot-plug/hot-unplug for the new zpci devices as
well. This patch enables the present hot-plug/hot-unplug handlers
to support not only generic pci devices but also zpci devices.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bd4976838d1f2b79d4db68a70ddf8d46e0f8b054
      
https://github.com/qemu/qemu/commit/bd4976838d1f2b79d4db68a70ddf8d46e0f8b054
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-inst.c

  Log Message:
  -----------
  s390x/pci: add checkings in CLP_SET_PCI_FN

The code in CLP_SET_PCI_FN case misses some checkings. Let's add
them.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: ab9746570ab375f3f2a3d5ec0c95d2621aca5493
      
https://github.com/qemu/qemu/commit/ab9746570ab375f3f2a3d5ec0c95d2621aca5493
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

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

  Log Message:
  -----------
  s390x/pci: refactor s390_pci_find_dev_by_idx

s390_find_dev_by_idx() only indexes usable zpci devices. It implies
that the index value of each zpci device is dynamic and may change if
a new zpci device is plugged. So we have to use a constant index to
look up the device.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 4e3bfc167d9cc9c9e3c26eb15cb06439547f0533
      
https://github.com/qemu/qemu/commit/4e3bfc167d9cc9c9e3c26eb15cb06439547f0533
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c

  Log Message:
  -----------
  s390x/pci: refactor list_pci

Because of the refactor of s390_pci_find_dev_by_idx(), list_pci()
should be updated. We introduce a new function to get the next
available zpci device. It simplifies the code of looking up zpci
devices.

Signed-off-by: Yi Min Zhao <address@hidden>
Acked-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 0a608a6e132abffa8fd9455e2354a47acb95847e
      
https://github.com/qemu/qemu/commit/0a608a6e132abffa8fd9455e2354a47acb95847e
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-inst.c

  Log Message:
  -----------
  s390x/pci: fix stpcifc_service_call

Firstly the function misses dmaas checking. This patch adds it.

Secondly the function uses s390_pci_find_dev_by_fh() to look up the
zpci device. This may fail if the guest provides a valid and disabled
fh but fh of the associated zpci device is enabled. Thus we use
s390_pci_find_dev_by_idx() instead.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: cdd85eb2804018ab46a742ebf64dc5366b9fae73
      
https://github.com/qemu/qemu/commit/cdd85eb2804018ab46a742ebf64dc5366b9fae73
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/pci: replace fid with idx in msg data of msix

Present code uses fid as the part of message data of msix for looking
up the specific zpci device. However it limits the usable range of fid,
and the code looking up the zpci device may fail due to truncation of
the fid.

In addition, fh is composed of enabled bit, FH_VIRT and the array index.
So we can use the array index as the identifier to store in msg data.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 93d16d81c8af0fe93a04bee8a4cb3259f480cab6
      
https://github.com/qemu/qemu/commit/93d16d81c8af0fe93a04bee8a4cb3259f480cab6
  Author: Yi Min Zhao <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: make hot-unplug handler smoother

The current implementation of hot-unplug handler is abrupt. Any pci
operation will be just rejected if pci device is unconfigured. Thus a
pci device can not be reset or destroyed in a right, smooth and safe
way.

Improve this as follows:
- Notify the guest via a HP_EVENT_DECONFIGURE_REQUEST(0x303) event in
  the unplug handler, giving it a chance to deconfigure the device via
  sclp and allowing us to continue hot-unplug afterwards.
- Set up a timer that will generate the HP_EVENT_CONFIGURE_TO_STBRES
  (0x304) event as before if the guest did not react after an adequate
  time.

Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: f1ef55786691a1bf79db0b74ba1e5347a0d38c1b
      
https://github.com/qemu/qemu/commit/f1ef55786691a1bf79db0b74ba1e5347a0d38c1b
  Author: Peter Maydell <address@hidden>
  Date:   2016-07-11 (Mon, 11 Jul 2016)

  Changed paths:
    M hw/s390x/Makefile.objs
    A hw/s390x/ccw-device.c
    A hw/s390x/ccw-device.h
    A hw/s390x/css-bridge.c
    M hw/s390x/css.c
    M hw/s390x/ipl.c
    M hw/s390x/ipl.h
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/s390-pci-inst.h
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h
    A include/hw/s390x/css-bridge.h
    M include/hw/s390x/css.h
    M include/hw/s390x/sclp.h
    M pc-bios/s390-ccw.img
    M pc-bios/s390-ccw/iplb.h
    M pc-bios/s390-ccw/main.c
    M pc-bios/s390-ccw/virtio-scsi.c
    M pc-bios/s390-ccw/virtio.h
    M target-s390x/kvm.c

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

Last round of s390x patches for 2.7:
- A large update of the s390x PCI code, bringing it in line with
  the architecture
- Fixes and improvements in the ipl (boot) code
- Refactoring in the css code

# gpg: Signature made Mon 11 Jul 2016 09:04:51 BST
# gpg:                using RSA key 0xDECF6B93C6F02FAF
# gpg: Good signature from "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-20160711: (25 commits)
  s390x/pci: make hot-unplug handler smoother
  s390x/pci: replace fid with idx in msg data of msix
  s390x/pci: fix stpcifc_service_call
  s390x/pci: refactor list_pci
  s390x/pci: refactor s390_pci_find_dev_by_idx
  s390x/pci: add checkings in CLP_SET_PCI_FN
  s390x/pci: enable zpci hot-plug/hot-unplug
  s390x/pci: enable uid-checking
  s390x/pci: introduce S390PCIBusDevice qdev
  s390x/pci: introduce S390PCIIOMMU
  s390x/pci: introduce S390PCIBus
  s390x/pci: enforce zPCI state checking
  s390x/pci: refactor s390_pci_find_dev_by_fh
  s390x/pci: unify FH_ macros
  s390x/pci: write fid in CLP_QUERY_PCI_FN
  s390x/pci: acceleration for getting S390pciState
  s390x/pci: fix failures of dma map/unmap
  s390x/css: Unplug handler of virtual css bridge
  s390x/css: Factor out virtual css bridge and bus
  s390x/css: use define for "virtual-css-bridge" literal
  ...

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


Compare: https://github.com/qemu/qemu/compare/7de2cc8f787a...f1ef55786691

reply via email to

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