* [Qemu-devel] [PULL 00/10] s390x update
@ 2019-02-05 16:40 Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 01/10] target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG Cornelia Huck
` (10 more replies)
0 siblings, 11 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:40 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, Cornelia Huck
The following changes since commit a61faa3d02159d24d4fa984733dbc0c905508752:
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.0-20190204' into staging (2019-02-04 10:33:40 +0000)
are available in the Git repository at:
https://github.com/cohuck/qemu tags/s390x-20190205
for you to fetch changes up to 2313a88fe68cb970532ba1641ffc35c848daae86:
s390x/pci: Unplug remaining requested devices on pcihost reset (2019-02-05 10:34:06 +0100)
----------------------------------------------------------------
Fixes and improvements in tcg and the zPCI code.
----------------------------------------------------------------
Alex Bennée (1):
target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG
Cornelia Huck (1):
s390x/pci: mark zpci devices as unmigratable
David Hildenbrand (7):
s390x/pci: Introduce unplug requests and split unplug handler
s390x/pci: Drop release timer and replace it with a flag
s390x/tcg: Don't model FP registers as globals
s390x/pci: Fix primary bus number for PCI bridges
s390x/pci: Fix hotplugging of PCI bridges
s390x/pci: Warn when adding PCI devices without the 'zpci' feature
s390x/pci: Unplug remaining requested devices on pcihost reset
Igor Mammedov (1):
s390x: remove direct reference to mem_path global from s390x code
hw/s390x/s390-pci-bus.c | 244 ++++++++++++++++++++++++-------------
hw/s390x/s390-pci-bus.h | 4 +-
target/s390x/cpu.h | 4 +
target/s390x/insn-data.def | 150 +++++++++++------------
target/s390x/kvm.c | 5 +-
target/s390x/translate.c | 135 ++++++++++++--------
6 files changed, 330 insertions(+), 212 deletions(-)
--
2.17.2
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 01/10] target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 02/10] s390x: remove direct reference to mem_path global from s390x code Cornelia Huck
` (9 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell
Cc: qemu-s390x, qemu-devel, Alex Bennée, David Hildenbrand,
Cornelia Huck
From: Alex Bennée <alex.bennee@linaro.org>
MTTCG should be enabled by default whenever the memory model allows
it. s390x was missing its definition of TCG_GUEST_DEFAULT_MO meaning
the user had to manually specify --accel tcg,thread=multi.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: David Hildenbrand <david@redhat.com>
Message-Id: <20190118171848.27332-1-alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
target/s390x/cpu.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 8c2320e882..47d2c2e9cf 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -35,6 +35,10 @@
#define CPUArchState struct CPUS390XState
#include "exec/cpu-defs.h"
+
+/* The z/Architecture has a strong memory model with some store-after-load re-ordering */
+#define TCG_GUEST_DEFAULT_MO (TCG_MO_ALL & ~TCG_MO_ST_LD)
+
#define TARGET_PAGE_BITS 12
#define TARGET_PHYS_ADDR_SPACE_BITS 64
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 02/10] s390x: remove direct reference to mem_path global from s390x code
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 01/10] target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 03/10] s390x/pci: Introduce unplug requests and split unplug handler Cornelia Huck
` (8 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, Igor Mammedov, Cornelia Huck
From: Igor Mammedov <imammedo@redhat.com>
I plan to deprecate -mem-path option and replace it with memory-backend,
for that it's necessary to get rid of mem_path global variable.
Do it for s390x case, replacing it with alternative way to enable
1Mb hugepages capability.
Todo that replace qemu_mempath_getpagesize() with qemu_getrampagesize()
which also checks for -mem-path provided RAM.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <1548834906-133241-1-git-send-email-imammedo@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
target/s390x/kvm.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 2ebf26adfe..8613e19d11 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -42,6 +42,7 @@
#include "hw/hw.h"
#include "sysemu/device_tree.h"
#include "exec/gdbstub.h"
+#include "exec/ram_addr.h"
#include "trace.h"
#include "hw/s390x/s390-pci-inst.h"
#include "hw/s390x/s390-pci-bus.h"
@@ -287,7 +288,7 @@ void kvm_s390_crypto_reset(void)
static int kvm_s390_configure_mempath_backing(KVMState *s)
{
- size_t path_psize = qemu_mempath_getpagesize(mem_path);
+ size_t path_psize = qemu_getrampagesize();
if (path_psize == 4 * KiB) {
return 0;
@@ -319,7 +320,7 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
{
MachineClass *mc = MACHINE_GET_CLASS(ms);
- if (mem_path && kvm_s390_configure_mempath_backing(s)) {
+ if (kvm_s390_configure_mempath_backing(s)) {
return -EINVAL;
}
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 03/10] s390x/pci: Introduce unplug requests and split unplug handler
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 01/10] target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 02/10] s390x: remove direct reference to mem_path global from s390x code Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 04/10] s390x/pci: Drop release timer and replace it with a flag Cornelia Huck
` (7 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
PCI on s390x is really weird and how it was modeled in QEMU might not have
been the right choice. Anyhow, right now it is the case that:
- Hotplugging a PCI device will silently create a zPCI device
(if none is provided)
- Hotunplugging a zPCI device will unplug the PCI device (if any)
- Hotunplugging a PCI device will unplug also the zPCI device
As far as I can see, we can no longer change this behavior. But we
should fix it.
Both device types are handled via a single hotplug handler call. This
is problematic for various reasons:
1. Unplugging via the zPCI device allows to unplug devices that are not
hot removable. (check performed in qdev_unplug()) - bad.
2. Hotplug handler chains are not possible for the unplug case. In the
future, the machine might want to override hotplug handlers, to
process device specific stuff and to then branch off to the actual
hotplug handler. We need separate hotplug handler calls for both the
PCI and zPCI device to make this work reliably. All other PCI
implementations are already prepared to handle this correctly, only
s390x is missing.
Therefore, introduce the unplug_request handler and properly perform
unplug checks by redirecting to the separate unplug_request handlers.
When finally unplugging, perform two separate hotplug_handler_unplug()
calls, first for the PCI device, followed by the zPCI device. This now
nicely splits unplugging paths for both devices.
The redirect part is a little hairy, as the user is allowed to trigger
unplug either via the PCI or the zPCI device. So redirect always to the
PCI unplug request handler first and remember if that check has been
performed in the zPCI device. Redirect then to the zPCI device unplug
request handler to perform the magic. Remembering that we already
checked the PCI device breaks the redirect loop.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-5-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 166 +++++++++++++++++++++++++++-------------
hw/s390x/s390-pci-bus.h | 1 +
2 files changed, 113 insertions(+), 54 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index f017c1ded0..bc17a8cf65 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -148,6 +148,22 @@ out:
psccb->header.response_code = cpu_to_be16(rc);
}
+static void s390_pci_perform_unplug(S390PCIBusDevice *pbdev)
+{
+ HotplugHandler *hotplug_ctrl;
+
+ /* Unplug the PCI device */
+ if (pbdev->pdev) {
+ hotplug_ctrl = qdev_get_hotplug_handler(DEVICE(pbdev->pdev));
+ hotplug_handler_unplug(hotplug_ctrl, DEVICE(pbdev->pdev),
+ &error_abort);
+ }
+
+ /* Unplug the zPCI device */
+ hotplug_ctrl = qdev_get_hotplug_handler(DEVICE(pbdev));
+ hotplug_handler_unplug(hotplug_ctrl, DEVICE(pbdev), &error_abort);
+}
+
void s390_pci_sclp_deconfigure(SCCB *sccb)
{
IoaCfgSccb *psccb = (IoaCfgSccb *)sccb;
@@ -179,7 +195,7 @@ void s390_pci_sclp_deconfigure(SCCB *sccb)
rc = SCLP_RC_NORMAL_COMPLETION;
if (pbdev->release_timer) {
- qdev_unplug(DEVICE(pbdev->pdev), NULL);
+ s390_pci_perform_unplug(pbdev);
}
}
out:
@@ -217,6 +233,24 @@ S390PCIBusDevice *s390_pci_find_dev_by_target(S390pciState *s,
return NULL;
}
+static S390PCIBusDevice *s390_pci_find_dev_by_pci(S390pciState *s,
+ PCIDevice *pci_dev)
+{
+ S390PCIBusDevice *pbdev;
+
+ if (!pci_dev) {
+ return NULL;
+ }
+
+ QTAILQ_FOREACH(pbdev, &s->zpci_devs, link) {
+ if (pbdev->pdev == pci_dev) {
+ return pbdev;
+ }
+ }
+
+ return NULL;
+}
+
S390PCIBusDevice *s390_pci_find_dev_by_idx(S390pciState *s, uint32_t idx)
{
return g_hash_table_lookup(s->zpci_table, &idx);
@@ -939,77 +973,100 @@ static void s390_pcihost_timer_cb(void *opaque)
pbdev->state = ZPCI_FS_STANDBY;
s390_pci_generate_plug_event(HP_EVENT_CONFIGURED_TO_STBRES,
pbdev->fh, pbdev->fid);
- qdev_unplug(DEVICE(pbdev), NULL);
+ s390_pci_perform_unplug(pbdev);
}
static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
Error **errp)
{
S390pciState *s = S390_PCI_HOST_BRIDGE(hotplug_dev);
- PCIDevice *pci_dev = NULL;
- PCIBus *bus;
- int32_t devfn;
S390PCIBusDevice *pbdev = NULL;
+ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
+ PCIDevice *pci_dev = PCI_DEVICE(dev);
+ PCIBus *bus;
+ int32_t devfn;
+
+ pbdev = s390_pci_find_dev_by_pci(s, PCI_DEVICE(dev));
+ g_assert(pbdev);
+
+ s390_pci_generate_plug_event(HP_EVENT_STANDBY_TO_RESERVED,
+ pbdev->fh, pbdev->fid);
+ bus = pci_get_bus(pci_dev);
+ devfn = pci_dev->devfn;
+ object_unparent(OBJECT(pci_dev));
+
+ s390_pci_msix_free(pbdev);
+ s390_pci_iommu_free(s, bus, devfn);
+ pbdev->pdev = NULL;
+ pbdev->state = ZPCI_FS_RESERVED;
+ } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
+ pbdev = S390_PCI_DEVICE(dev);
+
+ if (pbdev->release_timer) {
+ timer_del(pbdev->release_timer);
+ timer_free(pbdev->release_timer);
+ pbdev->release_timer = NULL;
+ }
+ pbdev->fid = 0;
+ QTAILQ_REMOVE(&s->zpci_devs, pbdev, link);
+ g_hash_table_remove(s->zpci_table, &pbdev->idx);
+ object_unparent(OBJECT(pbdev));
+ }
+}
+
+static void s390_pcihost_unplug_request(HotplugHandler *hotplug_dev,
+ DeviceState *dev,
+ Error **errp)
+{
+ S390pciState *s = S390_PCI_HOST_BRIDGE(hotplug_dev);
+ S390PCIBusDevice *pbdev;
+
if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_BRIDGE)) {
error_setg(errp, "PCI bridge hot unplug currently not supported");
- return;
} else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
- pci_dev = PCI_DEVICE(dev);
-
- QTAILQ_FOREACH(pbdev, &s->zpci_devs, link) {
- if (pbdev->pdev == pci_dev) {
- break;
- }
- }
- assert(pbdev != NULL);
+ /*
+ * Redirect the unplug request to the zPCI device and remember that
+ * we've checked the PCI device already (to prevent endless recursion).
+ */
+ pbdev = s390_pci_find_dev_by_pci(s, PCI_DEVICE(dev));
+ g_assert(pbdev);
+ pbdev->pci_unplug_request_processed = true;
+ qdev_unplug(DEVICE(pbdev), errp);
} else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
pbdev = S390_PCI_DEVICE(dev);
- pci_dev = pbdev->pdev;
- } else {
- g_assert_not_reached();
- }
- switch (pbdev->state) {
- case ZPCI_FS_RESERVED:
- goto out;
- case ZPCI_FS_STANDBY:
- break;
- default:
- if (pbdev->release_timer) {
+ /*
+ * If unplug was initially requested for the zPCI device, we
+ * first have to redirect to the PCI device, which will in return
+ * redirect back to us after performing its checks (if the request
+ * is not blocked, e.g. because it's a PCI bridge).
+ */
+ if (pbdev->pdev && !pbdev->pci_unplug_request_processed) {
+ qdev_unplug(DEVICE(pbdev->pdev), errp);
return;
}
- s390_pci_generate_plug_event(HP_EVENT_DECONFIGURE_REQUEST,
- pbdev->fh, pbdev->fid);
- pbdev->release_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,
- s390_pcihost_timer_cb,
- pbdev);
- timer_mod(pbdev->release_timer,
- qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + HOT_UNPLUG_TIMEOUT);
- return;
- }
+ pbdev->pci_unplug_request_processed = false;
- if (pbdev->release_timer) {
- timer_del(pbdev->release_timer);
- timer_free(pbdev->release_timer);
- pbdev->release_timer = NULL;
+ switch (pbdev->state) {
+ case ZPCI_FS_STANDBY:
+ case ZPCI_FS_RESERVED:
+ s390_pci_perform_unplug(pbdev);
+ break;
+ default:
+ if (pbdev->release_timer) {
+ return;
+ }
+ s390_pci_generate_plug_event(HP_EVENT_DECONFIGURE_REQUEST,
+ pbdev->fh, pbdev->fid);
+ pbdev->release_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,
+ s390_pcihost_timer_cb, pbdev);
+ timer_mod(pbdev->release_timer,
+ qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + HOT_UNPLUG_TIMEOUT);
+ }
+ } else {
+ g_assert_not_reached();
}
-
- s390_pci_generate_plug_event(HP_EVENT_STANDBY_TO_RESERVED,
- pbdev->fh, pbdev->fid);
- bus = pci_get_bus(pci_dev);
- devfn = pci_dev->devfn;
- object_unparent(OBJECT(pci_dev));
- fmb_timer_free(pbdev);
- s390_pci_msix_free(pbdev);
- s390_pci_iommu_free(s, bus, devfn);
- pbdev->pdev = NULL;
- pbdev->state = ZPCI_FS_RESERVED;
-out:
- pbdev->fid = 0;
- QTAILQ_REMOVE(&s->zpci_devs, pbdev, link);
- g_hash_table_remove(s->zpci_table, &pbdev->idx);
- object_unparent(OBJECT(pbdev));
}
static void s390_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev,
@@ -1059,6 +1116,7 @@ static void s390_pcihost_class_init(ObjectClass *klass, void *data)
dc->realize = s390_pcihost_realize;
hc->pre_plug = s390_pcihost_pre_plug;
hc->plug = s390_pcihost_plug;
+ hc->unplug_request = s390_pcihost_unplug_request;
hc->unplug = s390_pcihost_unplug;
msi_nonbroken = true;
}
diff --git a/hw/s390x/s390-pci-bus.h b/hw/s390x/s390-pci-bus.h
index dadad1f758..b1a6bb8296 100644
--- a/hw/s390x/s390-pci-bus.h
+++ b/hw/s390x/s390-pci-bus.h
@@ -336,6 +336,7 @@ struct S390PCIBusDevice {
IndAddr *summary_ind;
IndAddr *indicator;
QEMUTimer *release_timer;
+ bool pci_unplug_request_processed;
QTAILQ_ENTRY(S390PCIBusDevice) link;
};
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 04/10] s390x/pci: Drop release timer and replace it with a flag
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (2 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 03/10] s390x/pci: Introduce unplug requests and split unplug handler Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 05/10] s390x/pci: mark zpci devices as unmigratable Cornelia Huck
` (6 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
Let's handle it similar to x86 ACPI PCI code and don't use a timer.
Instead, remember if an unplug request is pending and keep it pending
for eternity. (a follow up patch will process the request on
reboot).
We expect that a guest that is up and running, will process the unplug
request and trigger the unplug. This is normal operation, no timer needed.
If the guest does not react, this usually means something in the guest
is going wrong. Simply removing the device after 30 seconds does not
really sound like a good idea. It might sometimes be wanted, but I
consider this rather an "opt-in" decision as it might harm a guest not
prepared for it.
If we ever actually want a "forced/surprise removal", we will have to
implement something on top of the existing "device_del" framework. E.g.
also x86 might want to do a forced/surprise removal of PCI devices under
some conditions. "device_del X, forced=true" could be an option and will
require changes to the hotplug handler infrastructure.
This will then move the responsibility on when to do a forced removal
to a higher level. Doing a forced removal right now over-complicates
things and doesn't really seem to be required.
Let's allow to send multiple requests.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-6-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 38 +++++++-------------------------------
hw/s390x/s390-pci-bus.h | 3 +--
2 files changed, 8 insertions(+), 33 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index bc17a8cf65..c96a7cba34 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -194,7 +194,7 @@ void s390_pci_sclp_deconfigure(SCCB *sccb)
pbdev->state = ZPCI_FS_STANDBY;
rc = SCLP_RC_NORMAL_COMPLETION;
- if (pbdev->release_timer) {
+ if (pbdev->unplug_requested) {
s390_pci_perform_unplug(pbdev);
}
}
@@ -959,23 +959,6 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
}
}
-static void s390_pcihost_timer_cb(void *opaque)
-{
- S390PCIBusDevice *pbdev = opaque;
-
- if (pbdev->summary_ind) {
- pci_dereg_irqs(pbdev);
- }
- if (pbdev->iommu->enabled) {
- pci_dereg_ioat(pbdev->iommu);
- }
-
- pbdev->state = ZPCI_FS_STANDBY;
- s390_pci_generate_plug_event(HP_EVENT_CONFIGURED_TO_STBRES,
- pbdev->fh, pbdev->fid);
- s390_pci_perform_unplug(pbdev);
-}
-
static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
Error **errp)
{
@@ -1002,12 +985,6 @@ static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
pbdev->state = ZPCI_FS_RESERVED;
} else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
pbdev = S390_PCI_DEVICE(dev);
-
- if (pbdev->release_timer) {
- timer_del(pbdev->release_timer);
- timer_free(pbdev->release_timer);
- pbdev->release_timer = NULL;
- }
pbdev->fid = 0;
QTAILQ_REMOVE(&s->zpci_devs, pbdev, link);
g_hash_table_remove(s->zpci_table, &pbdev->idx);
@@ -1054,15 +1031,14 @@ static void s390_pcihost_unplug_request(HotplugHandler *hotplug_dev,
s390_pci_perform_unplug(pbdev);
break;
default:
- if (pbdev->release_timer) {
- return;
- }
+ /*
+ * Allow to send multiple requests, e.g. if the guest crashed
+ * before releasing the device, we would not be able to send
+ * another request to the same VM (e.g. fresh OS).
+ */
+ pbdev->unplug_requested = true;
s390_pci_generate_plug_event(HP_EVENT_DECONFIGURE_REQUEST,
pbdev->fh, pbdev->fid);
- pbdev->release_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,
- s390_pcihost_timer_cb, pbdev);
- timer_mod(pbdev->release_timer,
- qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + HOT_UNPLUG_TIMEOUT);
}
} else {
g_assert_not_reached();
diff --git a/hw/s390x/s390-pci-bus.h b/hw/s390x/s390-pci-bus.h
index b1a6bb8296..550f3cc5e9 100644
--- a/hw/s390x/s390-pci-bus.h
+++ b/hw/s390x/s390-pci-bus.h
@@ -35,7 +35,6 @@
#define ZPCI_MAX_UID 0xffff
#define UID_UNDEFINED 0
#define UID_CHECKING_ENABLED 0x01
-#define HOT_UNPLUG_TIMEOUT (NANOSECONDS_PER_SECOND * 60 * 5)
#define S390_PCI_HOST_BRIDGE(obj) \
OBJECT_CHECK(S390pciState, (obj), TYPE_S390_PCI_HOST_BRIDGE)
@@ -335,8 +334,8 @@ struct S390PCIBusDevice {
MemoryRegion msix_notify_mr;
IndAddr *summary_ind;
IndAddr *indicator;
- QEMUTimer *release_timer;
bool pci_unplug_request_processed;
+ bool unplug_requested;
QTAILQ_ENTRY(S390PCIBusDevice) link;
};
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 05/10] s390x/pci: mark zpci devices as unmigratable
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (3 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 04/10] s390x/pci: Drop release timer and replace it with a flag Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 06/10] s390x/tcg: Don't model FP registers as globals Cornelia Huck
` (5 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, Cornelia Huck
We currently don't migrate any state for zpci devices, which are
coupled with standard pci devices. This means funny things happen
when we e.g. try to migrate with a virtio-pci device but the s390x-
specific zpci state is not migrated (vfio-pci is not affected, as
it is not migratable anyway.)
Until this is fixed, mark zpci devices as unmigratable.
Reported-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index c96a7cba34..96c7c18f3f 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -1253,6 +1253,15 @@ static Property s390_pci_device_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};
+static const VMStateDescription s390_pci_device_vmstate = {
+ .name = TYPE_S390_PCI_DEVICE,
+ /*
+ * TODO: add state handling here, so migration works at least with
+ * emulated pci devices on s390x
+ */
+ .unmigratable = 1,
+};
+
static void s390_pci_device_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -1263,6 +1272,7 @@ static void s390_pci_device_class_init(ObjectClass *klass, void *data)
dc->bus_type = TYPE_S390_PCI_BUS;
dc->realize = s390_pci_device_realize;
dc->props = s390_pci_device_properties;
+ dc->vmsd = &s390_pci_device_vmstate;
}
static const TypeInfo s390_pci_device_info = {
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 06/10] s390x/tcg: Don't model FP registers as globals
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (4 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 05/10] s390x/pci: mark zpci devices as unmigratable Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 07/10] s390x/pci: Fix primary bus number for PCI bridges Cornelia Huck
` (4 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
As floating point registers overlay some vector registers and we want
to make use of the general tcg_gvec infrastructure that assumes vectors
are not stored in globals but in memory, don't model floating point
registers as globals anymore. This is then similar to how arm handles
it.
Reading/writing a floating point register means reading/writing memory now.
Break up ugly in2_x2() handling that modifies both, in1 and in2 into
in2_x2l and in2_x2h. This makes things more readable. Also, in1_x1() is
ugly as it touches out/out2, get rid of that and use prep_x1() instead.
As we are no longer able to use the original global variables for
out/out2, we have to use new temporary variables and write from them to
the target registers using wout_ helpers.
E.g. an instruction that reads and writes x1 will use
- prep_x1 to get the values into out/out2
- wout_x1 to write the values from out/out2
This special handling is needed for x1 as it is often used along with
other inputs, so in1/in2 is already used.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190204154406.16122-1-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
target/s390x/insn-data.def | 150 ++++++++++++++++++-------------------
target/s390x/translate.c | 135 ++++++++++++++++++++-------------
2 files changed, 160 insertions(+), 125 deletions(-)
diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def
index 54e39df831..dab805fd90 100644
--- a/target/s390x/insn-data.def
+++ b/target/s390x/insn-data.def
@@ -33,10 +33,10 @@
C(0xe308, AG, RXY_a, Z, r1, m2_64, r1, 0, add, adds64)
C(0xe318, AGF, RXY_a, Z, r1, m2_32s, r1, 0, add, adds64)
F(0xb30a, AEBR, RRE, Z, e1, e2, new, e1, aeb, f32, IF_BFP)
- F(0xb31a, ADBR, RRE, Z, f1_o, f2_o, f1, 0, adb, f64, IF_BFP)
- F(0xb34a, AXBR, RRE, Z, 0, x2_o, x1, 0, axb, f128, IF_BFP)
+ F(0xb31a, ADBR, RRE, Z, f1, f2, new, f1, adb, f64, IF_BFP)
+ F(0xb34a, AXBR, RRE, Z, x2h, x2l, x1, x1, axb, f128, IF_BFP)
F(0xed0a, AEB, RXE, Z, e1, m2_32u, new, e1, aeb, f32, IF_BFP)
- F(0xed1a, ADB, RXE, Z, f1_o, m2_64, f1, 0, adb, f64, IF_BFP)
+ F(0xed1a, ADB, RXE, Z, f1, m2_64, new, f1, adb, f64, IF_BFP)
/* ADD HIGH */
C(0xb9c8, AHHHR, RRF_a, HW, r2_sr32, r3_sr32, new, r1_32h, add, adds32)
C(0xb9d8, AHHLR, RRF_a, HW, r2_sr32, r3, new, r1_32h, add, adds32)
@@ -154,7 +154,7 @@
C(0xb241, CKSM, RRE, Z, r1_o, ra2, new, r1_32, cksm, 0)
/* COPY SIGN */
- F(0xb372, CPSDR, RRF_b, FPSSH, f3_o, f2_o, f1, 0, cps, 0, IF_AFP1 | IF_AFP2 | IF_AFP3)
+ F(0xb372, CPSDR, RRF_b, FPSSH, f3, f2, new, f1, cps, 0, IF_AFP1 | IF_AFP2 | IF_AFP3)
/* COMPARE */
C(0x1900, CR, RR_a, Z, r1_o, r2_o, 0, 0, 0, cmps32)
@@ -165,16 +165,16 @@
C(0xe320, CG, RXY_a, Z, r1_o, m2_64, 0, 0, 0, cmps64)
C(0xe330, CGF, RXY_a, Z, r1_o, m2_32s, 0, 0, 0, cmps64)
F(0xb309, CEBR, RRE, Z, e1, e2, 0, 0, ceb, 0, IF_BFP)
- F(0xb319, CDBR, RRE, Z, f1_o, f2_o, 0, 0, cdb, 0, IF_BFP)
- F(0xb349, CXBR, RRE, Z, x1_o, x2_o, 0, 0, cxb, 0, IF_BFP)
+ F(0xb319, CDBR, RRE, Z, f1, f2, 0, 0, cdb, 0, IF_BFP)
+ F(0xb349, CXBR, RRE, Z, x2h, x2l, x1, 0, cxb, 0, IF_BFP)
F(0xed09, CEB, RXE, Z, e1, m2_32u, 0, 0, ceb, 0, IF_BFP)
- F(0xed19, CDB, RXE, Z, f1_o, m2_64, 0, 0, cdb, 0, IF_BFP)
+ F(0xed19, CDB, RXE, Z, f1, m2_64, 0, 0, cdb, 0, IF_BFP)
/* COMPARE AND SIGNAL */
F(0xb308, KEBR, RRE, Z, e1, e2, 0, 0, keb, 0, IF_BFP)
- F(0xb318, KDBR, RRE, Z, f1_o, f2_o, 0, 0, kdb, 0, IF_BFP)
- F(0xb348, KXBR, RRE, Z, x1_o, x2_o, 0, 0, kxb, 0, IF_BFP)
+ F(0xb318, KDBR, RRE, Z, f1, f2, 0, 0, kdb, 0, IF_BFP)
+ F(0xb348, KXBR, RRE, Z, x2h, x2l, x1, 0, kxb, 0, IF_BFP)
F(0xed08, KEB, RXE, Z, e1, m2_32u, 0, 0, keb, 0, IF_BFP)
- F(0xed18, KDB, RXE, Z, f1_o, m2_64, 0, 0, kdb, 0, IF_BFP)
+ F(0xed18, KDB, RXE, Z, f1, m2_64, 0, 0, kdb, 0, IF_BFP)
/* COMPARE IMMEDIATE */
C(0xc20d, CFI, RIL_a, EI, r1, i2, 0, 0, 0, cmps32)
C(0xc20c, CGFI, RIL_a, EI, r1, i2, 0, 0, 0, cmps64)
@@ -292,32 +292,32 @@
C(0xe326, CVDY, RXY_a, LD, r1_o, a2, 0, 0, cvd, 0)
/* CONVERT TO FIXED */
F(0xb398, CFEBR, RRF_e, Z, 0, e2, new, r1_32, cfeb, 0, IF_BFP)
- F(0xb399, CFDBR, RRF_e, Z, 0, f2_o, new, r1_32, cfdb, 0, IF_BFP)
- F(0xb39a, CFXBR, RRF_e, Z, 0, x2_o, new, r1_32, cfxb, 0, IF_BFP)
+ F(0xb399, CFDBR, RRF_e, Z, 0, f2, new, r1_32, cfdb, 0, IF_BFP)
+ F(0xb39a, CFXBR, RRF_e, Z, x2h, x2l, new, r1_32, cfxb, 0, IF_BFP)
F(0xb3a8, CGEBR, RRF_e, Z, 0, e2, r1, 0, cgeb, 0, IF_BFP)
- F(0xb3a9, CGDBR, RRF_e, Z, 0, f2_o, r1, 0, cgdb, 0, IF_BFP)
- F(0xb3aa, CGXBR, RRF_e, Z, 0, x2_o, r1, 0, cgxb, 0, IF_BFP)
+ F(0xb3a9, CGDBR, RRF_e, Z, 0, f2, r1, 0, cgdb, 0, IF_BFP)
+ F(0xb3aa, CGXBR, RRF_e, Z, x2h, x2l, r1, 0, cgxb, 0, IF_BFP)
/* CONVERT FROM FIXED */
F(0xb394, CEFBR, RRF_e, Z, 0, r2_32s, new, e1, cegb, 0, IF_BFP)
- F(0xb395, CDFBR, RRF_e, Z, 0, r2_32s, f1, 0, cdgb, 0, IF_BFP)
- F(0xb396, CXFBR, RRF_e, Z, 0, r2_32s, x1, 0, cxgb, 0, IF_BFP)
+ F(0xb395, CDFBR, RRF_e, Z, 0, r2_32s, new, f1, cdgb, 0, IF_BFP)
+ F(0xb396, CXFBR, RRF_e, Z, 0, r2_32s, new_P, x1, cxgb, 0, IF_BFP)
F(0xb3a4, CEGBR, RRF_e, Z, 0, r2_o, new, e1, cegb, 0, IF_BFP)
- F(0xb3a5, CDGBR, RRF_e, Z, 0, r2_o, f1, 0, cdgb, 0, IF_BFP)
- F(0xb3a6, CXGBR, RRF_e, Z, 0, r2_o, x1, 0, cxgb, 0, IF_BFP)
+ F(0xb3a5, CDGBR, RRF_e, Z, 0, r2_o, new, f1, cdgb, 0, IF_BFP)
+ F(0xb3a6, CXGBR, RRF_e, Z, 0, r2_o, new_P, x1, cxgb, 0, IF_BFP)
/* CONVERT TO LOGICAL */
F(0xb39c, CLFEBR, RRF_e, FPE, 0, e2, new, r1_32, clfeb, 0, IF_BFP)
- F(0xb39d, CLFDBR, RRF_e, FPE, 0, f2_o, new, r1_32, clfdb, 0, IF_BFP)
- F(0xb39e, CLFXBR, RRF_e, FPE, 0, x2_o, new, r1_32, clfxb, 0, IF_BFP)
+ F(0xb39d, CLFDBR, RRF_e, FPE, 0, f2, new, r1_32, clfdb, 0, IF_BFP)
+ F(0xb39e, CLFXBR, RRF_e, FPE, x2h, x2l, new, r1_32, clfxb, 0, IF_BFP)
F(0xb3ac, CLGEBR, RRF_e, FPE, 0, e2, r1, 0, clgeb, 0, IF_BFP)
- F(0xb3ad, CLGDBR, RRF_e, FPE, 0, f2_o, r1, 0, clgdb, 0, IF_BFP)
- F(0xb3ae, CLGXBR, RRF_e, FPE, 0, x2_o, r1, 0, clgxb, 0, IF_BFP)
+ F(0xb3ad, CLGDBR, RRF_e, FPE, 0, f2, r1, 0, clgdb, 0, IF_BFP)
+ F(0xb3ae, CLGXBR, RRF_e, FPE, x2h, x2l, r1, 0, clgxb, 0, IF_BFP)
/* CONVERT FROM LOGICAL */
F(0xb390, CELFBR, RRF_e, FPE, 0, r2_32u, new, e1, celgb, 0, IF_BFP)
- F(0xb391, CDLFBR, RRF_e, FPE, 0, r2_32u, f1, 0, cdlgb, 0, IF_BFP)
- F(0xb392, CXLFBR, RRF_e, FPE, 0, r2_32u, x1, 0, cxlgb, 0, IF_BFP)
+ F(0xb391, CDLFBR, RRF_e, FPE, 0, r2_32u, new, f1, cdlgb, 0, IF_BFP)
+ F(0xb392, CXLFBR, RRF_e, FPE, 0, r2_32u, new_P, x1, cxlgb, 0, IF_BFP)
F(0xb3a0, CELGBR, RRF_e, FPE, 0, r2_o, new, e1, celgb, 0, IF_BFP)
- F(0xb3a1, CDLGBR, RRF_e, FPE, 0, r2_o, f1, 0, cdlgb, 0, IF_BFP)
- F(0xb3a2, CXLGBR, RRF_e, FPE, 0, r2_o, x1, 0, cxlgb, 0, IF_BFP)
+ F(0xb3a1, CDLGBR, RRF_e, FPE, 0, r2_o, new, f1, cdlgb, 0, IF_BFP)
+ F(0xb3a2, CXLGBR, RRF_e, FPE, 0, r2_o, new_P, x1, cxlgb, 0, IF_BFP)
/* CONVERT UTF-8 TO UTF-16 */
D(0xb2a7, CU12, RRF_c, Z, 0, 0, 0, 0, cuXX, 0, 12)
@@ -336,10 +336,10 @@
C(0x1d00, DR, RR_a, Z, r1_D32, r2_32s, new_P, r1_P32, divs32, 0)
C(0x5d00, D, RX_a, Z, r1_D32, m2_32s, new_P, r1_P32, divs32, 0)
F(0xb30d, DEBR, RRE, Z, e1, e2, new, e1, deb, 0, IF_BFP)
- F(0xb31d, DDBR, RRE, Z, f1_o, f2_o, f1, 0, ddb, 0, IF_BFP)
- F(0xb34d, DXBR, RRE, Z, 0, x2_o, x1, 0, dxb, 0, IF_BFP)
+ F(0xb31d, DDBR, RRE, Z, f1, f2, new, f1, ddb, 0, IF_BFP)
+ F(0xb34d, DXBR, RRE, Z, x2h, x2l, x1, x1, dxb, 0, IF_BFP)
F(0xed0d, DEB, RXE, Z, e1, m2_32u, new, e1, deb, 0, IF_BFP)
- F(0xed1d, DDB, RXE, Z, f1_o, m2_64, f1, 0, ddb, 0, IF_BFP)
+ F(0xed1d, DDB, RXE, Z, f1, m2_64, new, f1, ddb, 0, IF_BFP)
/* DIVIDE LOGICAL */
C(0xb997, DLR, RRE, Z, r1_D32, r2_32u, new_P, r1_P32, divu32, 0)
C(0xe397, DL, RXY_a, Z, r1_D32, m2_32u, new_P, r1_P32, divu32, 0)
@@ -410,13 +410,13 @@
C(0xb914, LGFR, RRE, Z, 0, r2_32s, 0, r1, mov2, 0)
C(0xe304, LG, RXY_a, Z, 0, a2, r1, 0, ld64, 0)
C(0xe314, LGF, RXY_a, Z, 0, a2, r1, 0, ld32s, 0)
- F(0x2800, LDR, RR_a, Z, 0, f2_o, 0, f1, mov2, 0, IF_AFP1 | IF_AFP2)
+ F(0x2800, LDR, RR_a, Z, 0, f2, 0, f1, mov2, 0, IF_AFP1 | IF_AFP2)
F(0x6800, LD, RX_a, Z, 0, m2_64, 0, f1, mov2, 0, IF_AFP1)
F(0xed65, LDY, RXY_a, LD, 0, m2_64, 0, f1, mov2, 0, IF_AFP1)
F(0x3800, LER, RR_a, Z, 0, e2, 0, cond_e1e2, mov2, 0, IF_AFP1 | IF_AFP2)
F(0x7800, LE, RX_a, Z, 0, m2_32u, 0, e1, mov2, 0, IF_AFP1)
F(0xed64, LEY, RXY_a, LD, 0, m2_32u, 0, e1, mov2, 0, IF_AFP1)
- F(0xb365, LXR, RRE, Z, 0, x2_o, 0, x1, movx, 0, IF_AFP1)
+ F(0xb365, LXR, RRE, Z, x2h, x2l, 0, x1, movx, 0, IF_AFP1)
/* LOAD IMMEDIATE */
C(0xc001, LGFI, RIL_a, EI, 0, i2, 0, r1, mov2, 0)
/* LOAD RELATIVE LONG */
@@ -454,8 +454,8 @@
C(0xe302, LTG, RXY_a, EI, 0, a2, r1, 0, ld64, s64)
C(0xe332, LTGF, RXY_a, GIE, 0, a2, r1, 0, ld32s, s64)
F(0xb302, LTEBR, RRE, Z, 0, e2, 0, cond_e1e2, mov2, f32, IF_BFP)
- F(0xb312, LTDBR, RRE, Z, 0, f2_o, 0, f1, mov2, f64, IF_BFP)
- F(0xb342, LTXBR, RRE, Z, 0, x2_o, 0, x1, movx, f128, IF_BFP)
+ F(0xb312, LTDBR, RRE, Z, 0, f2, 0, f1, mov2, f64, IF_BFP)
+ F(0xb342, LTXBR, RRE, Z, x2h, x2l, 0, x1, movx, f128, IF_BFP)
/* LOAD AND TRAP */
C(0xe39f, LAT, RXY_a, LAT, 0, m2_32u, r1, 0, lat, 0)
C(0xe385, LGAT, RXY_a, LAT, 0, a2, r1, 0, lgat, 0)
@@ -476,9 +476,9 @@
C(0xb903, LCGR, RRE, Z, 0, r2, r1, 0, neg, neg64)
C(0xb913, LCGFR, RRE, Z, 0, r2_32s, r1, 0, neg, neg64)
F(0xb303, LCEBR, RRE, Z, 0, e2, new, e1, negf32, f32, IF_BFP)
- F(0xb313, LCDBR, RRE, Z, 0, f2_o, f1, 0, negf64, f64, IF_BFP)
- F(0xb343, LCXBR, RRE, Z, 0, x2_o, x1, 0, negf128, f128, IF_BFP)
- F(0xb373, LCDFR, RRE, FPSSH, 0, f2_o, f1, 0, negf64, 0, IF_AFP1 | IF_AFP2)
+ F(0xb313, LCDBR, RRE, Z, 0, f2, new, f1, negf64, f64, IF_BFP)
+ F(0xb343, LCXBR, RRE, Z, x2h, x2l, new_P, x1, negf128, f128, IF_BFP)
+ F(0xb373, LCDFR, RRE, FPSSH, 0, f2, new, f1, negf64, 0, IF_AFP1 | IF_AFP2)
/* LOAD HALFWORD */
C(0xb927, LHR, RRE, EI, 0, r2_16s, 0, r1_32, mov2, 0)
C(0xb907, LGHR, RRE, EI, 0, r2_16s, 0, r1, mov2, 0)
@@ -537,15 +537,15 @@
/* LOAD FPR FROM GR */
F(0xb3c1, LDGR, RRE, FPRGR, 0, r2_o, 0, f1, mov2, 0, IF_AFP1)
/* LOAD GR FROM FPR */
- F(0xb3cd, LGDR, RRE, FPRGR, 0, f2_o, 0, r1, mov2, 0, IF_AFP2)
+ F(0xb3cd, LGDR, RRE, FPRGR, 0, f2, 0, r1, mov2, 0, IF_AFP2)
/* LOAD NEGATIVE */
C(0x1100, LNR, RR_a, Z, 0, r2_32s, new, r1_32, nabs, nabs32)
C(0xb901, LNGR, RRE, Z, 0, r2, r1, 0, nabs, nabs64)
C(0xb911, LNGFR, RRE, Z, 0, r2_32s, r1, 0, nabs, nabs64)
F(0xb301, LNEBR, RRE, Z, 0, e2, new, e1, nabsf32, f32, IF_BFP)
- F(0xb311, LNDBR, RRE, Z, 0, f2_o, f1, 0, nabsf64, f64, IF_BFP)
- F(0xb341, LNXBR, RRE, Z, 0, x2_o, x1, 0, nabsf128, f128, IF_BFP)
- F(0xb371, LNDFR, RRE, FPSSH, 0, f2_o, f1, 0, nabsf64, 0, IF_AFP1 | IF_AFP2)
+ F(0xb311, LNDBR, RRE, Z, 0, f2, new, f1, nabsf64, f64, IF_BFP)
+ F(0xb341, LNXBR, RRE, Z, x2h, x2l, new_P, x1, nabsf128, f128, IF_BFP)
+ F(0xb371, LNDFR, RRE, FPSSH, 0, f2, new, f1, nabsf64, 0, IF_AFP1 | IF_AFP2)
/* LOAD ON CONDITION */
C(0xb9f2, LOCR, RRF_c, LOC, r1, r2, new, r1_32, loc, 0)
C(0xb9e2, LOCGR, RRF_c, LOC, r1, r2, r1, 0, loc, 0)
@@ -568,9 +568,9 @@
C(0xb900, LPGR, RRE, Z, 0, r2, r1, 0, abs, abs64)
C(0xb910, LPGFR, RRE, Z, 0, r2_32s, r1, 0, abs, abs64)
F(0xb300, LPEBR, RRE, Z, 0, e2, new, e1, absf32, f32, IF_BFP)
- F(0xb310, LPDBR, RRE, Z, 0, f2_o, f1, 0, absf64, f64, IF_BFP)
- F(0xb340, LPXBR, RRE, Z, 0, x2_o, x1, 0, absf128, f128, IF_BFP)
- F(0xb370, LPDFR, RRE, FPSSH, 0, f2_o, f1, 0, absf64, 0, IF_AFP1 | IF_AFP2)
+ F(0xb310, LPDBR, RRE, Z, 0, f2, new, f1, absf64, f64, IF_BFP)
+ F(0xb340, LPXBR, RRE, Z, x2h, x2l, new_P, x1, absf128, f128, IF_BFP)
+ F(0xb370, LPDFR, RRE, FPSSH, 0, f2, new, f1, absf64, 0, IF_AFP1 | IF_AFP2)
/* LOAD REVERSED */
C(0xb91f, LRVR, RRE, Z, 0, r2_32u, new, r1_32, rev32, 0)
C(0xb90f, LRVGR, RRE, Z, 0, r2_o, r1, 0, rev64, 0)
@@ -588,20 +588,20 @@
F(0xb2bd, LFAS, S, IEEEE_SIM, 0, m2_32u, 0, 0, sfas, 0, IF_DFP)
/* LOAD FP INTEGER */
F(0xb357, FIEBR, RRF_e, Z, 0, e2, new, e1, fieb, 0, IF_BFP)
- F(0xb35f, FIDBR, RRF_e, Z, 0, f2_o, f1, 0, fidb, 0, IF_BFP)
- F(0xb347, FIXBR, RRF_e, Z, 0, x2_o, x1, 0, fixb, 0, IF_BFP)
+ F(0xb35f, FIDBR, RRF_e, Z, 0, f2, new, f1, fidb, 0, IF_BFP)
+ F(0xb347, FIXBR, RRF_e, Z, x2h, x2l, new_P, x1, fixb, 0, IF_BFP)
/* LOAD LENGTHENED */
- F(0xb304, LDEBR, RRE, Z, 0, e2, f1, 0, ldeb, 0, IF_BFP)
- F(0xb305, LXDBR, RRE, Z, 0, f2_o, x1, 0, lxdb, 0, IF_BFP)
- F(0xb306, LXEBR, RRE, Z, 0, e2, x1, 0, lxeb, 0, IF_BFP)
- F(0xed04, LDEB, RXE, Z, 0, m2_32u, f1, 0, ldeb, 0, IF_BFP)
- F(0xed05, LXDB, RXE, Z, 0, m2_64, x1, 0, lxdb, 0, IF_BFP)
- F(0xed06, LXEB, RXE, Z, 0, m2_32u, x1, 0, lxeb, 0, IF_BFP)
+ F(0xb304, LDEBR, RRE, Z, 0, e2, new, f1, ldeb, 0, IF_BFP)
+ F(0xb305, LXDBR, RRE, Z, 0, f2, new_P, x1, lxdb, 0, IF_BFP)
+ F(0xb306, LXEBR, RRE, Z, 0, e2, new_P, x1, lxeb, 0, IF_BFP)
+ F(0xed04, LDEB, RXE, Z, 0, m2_32u, new, f1, ldeb, 0, IF_BFP)
+ F(0xed05, LXDB, RXE, Z, 0, m2_64, new_P, x1, lxdb, 0, IF_BFP)
+ F(0xed06, LXEB, RXE, Z, 0, m2_32u, new_P, x1, lxeb, 0, IF_BFP)
/* LOAD ROUNDED */
- F(0xb344, LEDBR, RRE, Z, 0, f2_o, new, e1, ledb, 0, IF_BFP)
- F(0xb345, LDXBR, RRE, Z, 0, x2_o, f1, 0, ldxb, 0, IF_BFP)
- F(0xb346, LEXBR, RRE, Z, 0, x2_o, new, e1, lexb, 0, IF_BFP)
+ F(0xb344, LEDBR, RRE, Z, 0, f2, new, e1, ledb, 0, IF_BFP)
+ F(0xb345, LDXBR, RRE, Z, x2h, x2l, new, f1, ldxb, 0, IF_BFP)
+ F(0xb346, LEXBR, RRE, Z, x2h, x2l, new, e1, lexb, 0, IF_BFP)
/* LOAD MULTIPLE */
C(0x9800, LM, RS_a, Z, 0, a2, 0, 0, lm32, 0)
@@ -648,14 +648,14 @@
C(0x5c00, M, RX_a, Z, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
C(0xe35c, MFY, RXY_a, GIE, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
F(0xb317, MEEBR, RRE, Z, e1, e2, new, e1, meeb, 0, IF_BFP)
- F(0xb31c, MDBR, RRE, Z, f1_o, f2_o, f1, 0, mdb, 0, IF_BFP)
- F(0xb34c, MXBR, RRE, Z, 0, x2_o, x1, 0, mxb, 0, IF_BFP)
- F(0xb30c, MDEBR, RRE, Z, f1_o, e2, f1, 0, mdeb, 0, IF_BFP)
- F(0xb307, MXDBR, RRE, Z, 0, f2_o, x1, 0, mxdb, 0, IF_BFP)
+ F(0xb31c, MDBR, RRE, Z, f1, f2, new, f1, mdb, 0, IF_BFP)
+ F(0xb34c, MXBR, RRE, Z, x2h, x2l, x1, x1, mxb, 0, IF_BFP)
+ F(0xb30c, MDEBR, RRE, Z, f1, e2, new, f1, mdeb, 0, IF_BFP)
+ F(0xb307, MXDBR, RRE, Z, 0, f2, x1, x1, mxdb, 0, IF_BFP)
F(0xed17, MEEB, RXE, Z, e1, m2_32u, new, e1, meeb, 0, IF_BFP)
- F(0xed1c, MDB, RXE, Z, f1_o, m2_64, f1, 0, mdb, 0, IF_BFP)
- F(0xed0c, MDEB, RXE, Z, f1_o, m2_32u, f1, 0, mdeb, 0, IF_BFP)
- F(0xed07, MXDB, RXE, Z, 0, m2_64, x1, 0, mxdb, 0, IF_BFP)
+ F(0xed1c, MDB, RXE, Z, f1, m2_64, new, f1, mdb, 0, IF_BFP)
+ F(0xed0c, MDEB, RXE, Z, f1, m2_32u, new, f1, mdeb, 0, IF_BFP)
+ F(0xed07, MXDB, RXE, Z, 0, m2_64, x1, x1, mxdb, 0, IF_BFP)
/* MULTIPLY HALFWORD */
C(0x4c00, MH, RX_a, Z, r1_o, m2_16s, new, r1_32, mul, 0)
C(0xe37c, MHY, RXY_a, GIE, r1_o, m2_16s, new, r1_32, mul, 0)
@@ -681,14 +681,14 @@
/* MULTIPLY AND ADD */
F(0xb30e, MAEBR, RRD, Z, e1, e2, new, e1, maeb, 0, IF_BFP)
- F(0xb31e, MADBR, RRD, Z, f1_o, f2_o, f1, 0, madb, 0, IF_BFP)
+ F(0xb31e, MADBR, RRD, Z, f1, f2, new, f1, madb, 0, IF_BFP)
F(0xed0e, MAEB, RXF, Z, e1, m2_32u, new, e1, maeb, 0, IF_BFP)
- F(0xed1e, MADB, RXF, Z, f1_o, m2_64, f1, 0, madb, 0, IF_BFP)
+ F(0xed1e, MADB, RXF, Z, f1, m2_64, new, f1, madb, 0, IF_BFP)
/* MULTIPLY AND SUBTRACT */
F(0xb30f, MSEBR, RRD, Z, e1, e2, new, e1, mseb, 0, IF_BFP)
- F(0xb31f, MSDBR, RRD, Z, f1_o, f2_o, f1, 0, msdb, 0, IF_BFP)
+ F(0xb31f, MSDBR, RRD, Z, f1, f2, new, f1, msdb, 0, IF_BFP)
F(0xed0f, MSEB, RXF, Z, e1, m2_32u, new, e1, mseb, 0, IF_BFP)
- F(0xed1f, MSDB, RXF, Z, f1_o, m2_64, f1, 0, msdb, 0, IF_BFP)
+ F(0xed1f, MSDB, RXF, Z, f1, m2_64, new, f1, msdb, 0, IF_BFP)
/* OR */
C(0x1600, OR, RR_a, Z, r1, r2, new, r1_32, or, nz32)
@@ -793,17 +793,17 @@
/* SQUARE ROOT */
F(0xb314, SQEBR, RRE, Z, 0, e2, new, e1, sqeb, 0, IF_BFP)
- F(0xb315, SQDBR, RRE, Z, 0, f2_o, f1, 0, sqdb, 0, IF_BFP)
- F(0xb316, SQXBR, RRE, Z, 0, x2_o, x1, 0, sqxb, 0, IF_BFP)
+ F(0xb315, SQDBR, RRE, Z, 0, f2, new, f1, sqdb, 0, IF_BFP)
+ F(0xb316, SQXBR, RRE, Z, x2h, x2l, new, x1, sqxb, 0, IF_BFP)
F(0xed14, SQEB, RXE, Z, 0, m2_32u, new, e1, sqeb, 0, IF_BFP)
- F(0xed15, SQDB, RXE, Z, 0, m2_64, f1, 0, sqdb, 0, IF_BFP)
+ F(0xed15, SQDB, RXE, Z, 0, m2_64, new, f1, sqdb, 0, IF_BFP)
/* STORE */
C(0x5000, ST, RX_a, Z, r1_o, a2, 0, 0, st32, 0)
C(0xe350, STY, RXY_a, LD, r1_o, a2, 0, 0, st32, 0)
C(0xe324, STG, RXY_a, Z, r1_o, a2, 0, 0, st64, 0)
- F(0x6000, STD, RX_a, Z, f1_o, a2, 0, 0, st64, 0, IF_AFP1)
- F(0xed67, STDY, RXY_a, LD, f1_o, a2, 0, 0, st64, 0, IF_AFP1)
+ F(0x6000, STD, RX_a, Z, f1, a2, 0, 0, st64, 0, IF_AFP1)
+ F(0xed67, STDY, RXY_a, LD, f1, a2, 0, 0, st64, 0, IF_AFP1)
F(0x7000, STE, RX_a, Z, e1, a2, 0, 0, st32, 0, IF_AFP1)
F(0xed66, STEY, RXY_a, LD, e1, a2, 0, 0, st32, 0, IF_AFP1)
/* STORE RELATIVE LONG */
@@ -865,10 +865,10 @@
C(0xe309, SG, RXY_a, Z, r1, m2_64, r1, 0, sub, subs64)
C(0xe319, SGF, RXY_a, Z, r1, m2_32s, r1, 0, sub, subs64)
F(0xb30b, SEBR, RRE, Z, e1, e2, new, e1, seb, f32, IF_BFP)
- F(0xb31b, SDBR, RRE, Z, f1_o, f2_o, f1, 0, sdb, f64, IF_BFP)
- F(0xb34b, SXBR, RRE, Z, 0, x2_o, x1, 0, sxb, f128, IF_BFP)
+ F(0xb31b, SDBR, RRE, Z, f1, f2, new, f1, sdb, f64, IF_BFP)
+ F(0xb34b, SXBR, RRE, Z, x2h, x2l, x1, x1, sxb, f128, IF_BFP)
F(0xed0b, SEB, RXE, Z, e1, m2_32u, new, e1, seb, f32, IF_BFP)
- F(0xed1b, SDB, RXE, Z, f1_o, m2_64, f1, 0, sdb, f64, IF_BFP)
+ F(0xed1b, SDB, RXE, Z, f1, m2_64, new, f1, sdb, f64, IF_BFP)
/* SUBTRACT HALFWORD */
C(0x4b00, SH, RX_a, Z, r1, m2_16s, new, r1_32, sub, subs32)
C(0xe37b, SHY, RXY_a, LD, r1, m2_16s, new, r1_32, sub, subs32)
@@ -908,8 +908,8 @@
/* TEST DATA CLASS */
F(0xed10, TCEB, RXE, Z, e1, a2, 0, 0, tceb, 0, IF_BFP)
- F(0xed11, TCDB, RXE, Z, f1_o, a2, 0, 0, tcdb, 0, IF_BFP)
- F(0xed12, TCXB, RXE, Z, x1_o, a2, 0, 0, tcxb, 0, IF_BFP)
+ F(0xed11, TCDB, RXE, Z, f1, a2, 0, 0, tcdb, 0, IF_BFP)
+ F(0xed12, TCXB, RXE, Z, 0, a2, x1, 0, tcxb, 0, IF_BFP)
/* TEST DECIMAL */
C(0xebc0, TP, RSL, E2, la1, 0, 0, 0, tp, 0)
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index 6249c70d02..639084af07 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -111,9 +111,8 @@ static TCGv_i64 cc_src;
static TCGv_i64 cc_dst;
static TCGv_i64 cc_vr;
-static char cpu_reg_names[32][4];
+static char cpu_reg_names[16][4];
static TCGv_i64 regs[16];
-static TCGv_i64 fregs[16];
void s390x_translate_init(void)
{
@@ -144,13 +143,53 @@ void s390x_translate_init(void)
offsetof(CPUS390XState, regs[i]),
cpu_reg_names[i]);
}
+}
- for (i = 0; i < 16; i++) {
- snprintf(cpu_reg_names[i + 16], sizeof(cpu_reg_names[0]), "f%d", i);
- fregs[i] = tcg_global_mem_new(cpu_env,
- offsetof(CPUS390XState, vregs[i][0].d),
- cpu_reg_names[i + 16]);
- }
+static inline int vec_reg_offset(uint8_t reg, uint8_t enr, TCGMemOp size)
+{
+ const uint8_t es = 1 << size;
+ int offs = enr * es;
+
+ g_assert(reg < 32);
+ /*
+ * vregs[n][0] is the lowest 8 byte and vregs[n][1] the highest 8 byte
+ * of the 16 byte vector, on both, little and big endian systems.
+ *
+ * Big Endian (target/possible host)
+ * B: [ 0][ 1][ 2][ 3][ 4][ 5][ 6][ 7] - [ 8][ 9][10][11][12][13][14][15]
+ * HW: [ 0][ 1][ 2][ 3] - [ 4][ 5][ 6][ 7]
+ * W: [ 0][ 1] - [ 2][ 3]
+ * DW: [ 0] - [ 1]
+ *
+ * Little Endian (possible host)
+ * B: [ 7][ 6][ 5][ 4][ 3][ 2][ 1][ 0] - [15][14][13][12][11][10][ 9][ 8]
+ * HW: [ 3][ 2][ 1][ 0] - [ 7][ 6][ 5][ 4]
+ * W: [ 1][ 0] - [ 3][ 2]
+ * DW: [ 0] - [ 1]
+ *
+ * For 16 byte elements, the two 8 byte halves will not form a host
+ * int128 if the host is little endian, since they're in the wrong order.
+ * Some operations (e.g. xor) do not care. For operations like addition,
+ * the two 8 byte elements have to be loaded separately. Let's force all
+ * 16 byte operations to handle it in a special way.
+ */
+ g_assert(size <= MO_64);
+#ifndef HOST_WORDS_BIGENDIAN
+ offs ^= (8 - es);
+#endif
+ return offs + offsetof(CPUS390XState, vregs[reg][0].d);
+}
+
+static inline int freg64_offset(uint8_t reg)
+{
+ g_assert(reg < 16);
+ return vec_reg_offset(reg, 0, MO_64);
+}
+
+static inline int freg32_offset(uint8_t reg)
+{
+ g_assert(reg < 16);
+ return vec_reg_offset(reg, 0, MO_32);
}
static TCGv_i64 load_reg(int reg)
@@ -160,10 +199,19 @@ static TCGv_i64 load_reg(int reg)
return r;
}
+static TCGv_i64 load_freg(int reg)
+{
+ TCGv_i64 r = tcg_temp_new_i64();
+
+ tcg_gen_ld_i64(r, cpu_env, freg64_offset(reg));
+ return r;
+}
+
static TCGv_i64 load_freg32_i64(int reg)
{
TCGv_i64 r = tcg_temp_new_i64();
- tcg_gen_shri_i64(r, fregs[reg], 32);
+
+ tcg_gen_ld32u_i64(r, cpu_env, freg32_offset(reg));
return r;
}
@@ -174,7 +222,7 @@ static void store_reg(int reg, TCGv_i64 v)
static void store_freg(int reg, TCGv_i64 v)
{
- tcg_gen_mov_i64(fregs[reg], v);
+ tcg_gen_st_i64(v, cpu_env, freg64_offset(reg));
}
static void store_reg32_i64(int reg, TCGv_i64 v)
@@ -190,7 +238,7 @@ static void store_reg32h_i64(int reg, TCGv_i64 v)
static void store_freg32_i64(int reg, TCGv_i64 v)
{
- tcg_gen_deposit_i64(fregs[reg], fregs[reg], v, 32, 32);
+ tcg_gen_st32_i64(v, cpu_env, freg32_offset(reg));
}
static void return_low128(TCGv_i64 dest)
@@ -3325,8 +3373,9 @@ static DisasJumpType op_maeb(DisasContext *s, DisasOps *o)
static DisasJumpType op_madb(DisasContext *s, DisasOps *o)
{
- int r3 = get_field(s->fields, r3);
- gen_helper_madb(o->out, cpu_env, o->in1, o->in2, fregs[r3]);
+ TCGv_i64 r3 = load_freg(get_field(s->fields, r3));
+ gen_helper_madb(o->out, cpu_env, o->in1, o->in2, r3);
+ tcg_temp_free_i64(r3);
return DISAS_NEXT;
}
@@ -3340,8 +3389,9 @@ static DisasJumpType op_mseb(DisasContext *s, DisasOps *o)
static DisasJumpType op_msdb(DisasContext *s, DisasOps *o)
{
- int r3 = get_field(s->fields, r3);
- gen_helper_msdb(o->out, cpu_env, o->in1, o->in2, fregs[r3]);
+ TCGv_i64 r3 = load_freg(get_field(s->fields, r3));
+ gen_helper_msdb(o->out, cpu_env, o->in1, o->in2, r3);
+ tcg_temp_free_i64(r3);
return DISAS_NEXT;
}
@@ -5085,19 +5135,11 @@ static void prep_r1_P(DisasContext *s, DisasFields *f, DisasOps *o)
}
#define SPEC_prep_r1_P SPEC_r1_even
-static void prep_f1(DisasContext *s, DisasFields *f, DisasOps *o)
-{
- o->out = fregs[get_field(f, r1)];
- o->g_out = true;
-}
-#define SPEC_prep_f1 0
-
+/* Whenever we need x1 in addition to other inputs, we'll load it to out/out2 */
static void prep_x1(DisasContext *s, DisasFields *f, DisasOps *o)
{
- int r1 = get_field(f, r1);
- o->out = fregs[r1];
- o->out2 = fregs[r1 + 2];
- o->g_out = o->g_out2 = true;
+ o->out = load_freg(get_field(f, r1));
+ o->out2 = load_freg(get_field(f, r1) + 2);
}
#define SPEC_prep_x1 SPEC_r1_f128
@@ -5393,28 +5435,24 @@ static void in1_e1(DisasContext *s, DisasFields *f, DisasOps *o)
}
#define SPEC_in1_e1 0
-static void in1_f1_o(DisasContext *s, DisasFields *f, DisasOps *o)
+static void in1_f1(DisasContext *s, DisasFields *f, DisasOps *o)
{
- o->in1 = fregs[get_field(f, r1)];
- o->g_in1 = true;
+ o->in1 = load_freg(get_field(f, r1));
}
-#define SPEC_in1_f1_o 0
+#define SPEC_in1_f1 0
-static void in1_x1_o(DisasContext *s, DisasFields *f, DisasOps *o)
+/* Load the high double word of an extended (128-bit) format FP number */
+static void in1_x2h(DisasContext *s, DisasFields *f, DisasOps *o)
{
- int r1 = get_field(f, r1);
- o->out = fregs[r1];
- o->out2 = fregs[r1 + 2];
- o->g_out = o->g_out2 = true;
+ o->in1 = load_freg(get_field(f, r2));
}
-#define SPEC_in1_x1_o SPEC_r1_f128
+#define SPEC_in1_x2h SPEC_r2_f128
-static void in1_f3_o(DisasContext *s, DisasFields *f, DisasOps *o)
+static void in1_f3(DisasContext *s, DisasFields *f, DisasOps *o)
{
- o->in1 = fregs[get_field(f, r3)];
- o->g_in1 = true;
+ o->in1 = load_freg(get_field(f, r3));
}
-#define SPEC_in1_f3_o 0
+#define SPEC_in1_f3 0
static void in1_la1(DisasContext *s, DisasFields *f, DisasOps *o)
{
@@ -5599,21 +5637,18 @@ static void in2_e2(DisasContext *s, DisasFields *f, DisasOps *o)
}
#define SPEC_in2_e2 0
-static void in2_f2_o(DisasContext *s, DisasFields *f, DisasOps *o)
+static void in2_f2(DisasContext *s, DisasFields *f, DisasOps *o)
{
- o->in2 = fregs[get_field(f, r2)];
- o->g_in2 = true;
+ o->in2 = load_freg(get_field(f, r2));
}
-#define SPEC_in2_f2_o 0
+#define SPEC_in2_f2 0
-static void in2_x2_o(DisasContext *s, DisasFields *f, DisasOps *o)
+/* Load the low double word of an extended (128-bit) format FP number */
+static void in2_x2l(DisasContext *s, DisasFields *f, DisasOps *o)
{
- int r2 = get_field(f, r2);
- o->in1 = fregs[r2];
- o->in2 = fregs[r2 + 2];
- o->g_in1 = o->g_in2 = true;
+ o->in2 = load_freg(get_field(f, r2) + 2);
}
-#define SPEC_in2_x2_o SPEC_r2_f128
+#define SPEC_in2_x2l SPEC_r2_f128
static void in2_ra2(DisasContext *s, DisasFields *f, DisasOps *o)
{
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 07/10] s390x/pci: Fix primary bus number for PCI bridges
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (5 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 06/10] s390x/tcg: Don't model FP registers as globals Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 08/10] s390x/pci: Fix hotplugging of " Cornelia Huck
` (3 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
The primary bus number corresponds always to the bus number of the
bus the bridge is attached to.
Right now, if we have two bridges attached to the same bus (e.g. root
bus) this is however not the case. The first bridge will have primary
bus 0, the second bridge primary bus 1, which is wrong. Fix the assignment.
While at it, drop setting the PCI_SUBORDINATE_BUS temporarily to 0xff.
Setting it temporarily to that value (as discussed e.g. in [1]), is
only relevant for a running system that probes the buses. The value is
effectively unused for us just doing a DFS.
Also add a comment why we have to reassign during every reset (which I
found to be surprising.
Please note that hotplugging of bridges is in general still broken, will
be fixed next.
[1] http://www.science.unitn.it/~fiorella/guidelinux/tlk/node76.html
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-2-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 96c7c18f3f..4200e48fb9 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -896,7 +896,8 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
qbus_set_hotplug_handler(bus, DEVICE(s), errp);
if (dev->hotplugged) {
- pci_default_write_config(pdev, PCI_PRIMARY_BUS, s->bus_no, 1);
+ pci_default_write_config(pdev, PCI_PRIMARY_BUS,
+ pci_dev_bus_num(pdev), 1);
s->bus_no += 1;
pci_default_write_config(pdev, PCI_SECONDARY_BUS, s->bus_no, 1);
do {
@@ -1049,8 +1050,6 @@ static void s390_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev,
void *opaque)
{
S390pciState *s = opaque;
- unsigned int primary = s->bus_no;
- unsigned int subordinate = 0xff;
PCIBus *sec_bus = NULL;
if ((pci_default_read_config(pdev, PCI_HEADER_TYPE, 1) !=
@@ -1059,7 +1058,7 @@ static void s390_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev,
}
(s->bus_no)++;
- pci_default_write_config(pdev, PCI_PRIMARY_BUS, primary, 1);
+ pci_default_write_config(pdev, PCI_PRIMARY_BUS, pci_dev_bus_num(pdev), 1);
pci_default_write_config(pdev, PCI_SECONDARY_BUS, s->bus_no, 1);
pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, s->bus_no, 1);
@@ -1068,7 +1067,7 @@ static void s390_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev,
return;
}
- pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, subordinate, 1);
+ /* Assign numbers to all child bridges. The last is the highest number. */
pci_for_each_device(sec_bus, pci_bus_num(sec_bus),
s390_pci_enumerate_bridge, s);
pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, s->bus_no, 1);
@@ -1079,6 +1078,10 @@ static void s390_pcihost_reset(DeviceState *dev)
S390pciState *s = S390_PCI_HOST_BRIDGE(dev);
PCIBus *bus = s->parent_obj.bus;
+ /*
+ * When resetting a PCI bridge, the assigned numbers are set to 0. So
+ * on every system reset, we also have to reassign numbers.
+ */
s->bus_no = 0;
pci_for_each_device(bus, pci_bus_num(bus), s390_pci_enumerate_bridge, s);
}
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 08/10] s390x/pci: Fix hotplugging of PCI bridges
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (6 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 07/10] s390x/pci: Fix primary bus number for PCI bridges Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 09/10] s390x/pci: Warn when adding PCI devices without the 'zpci' feature Cornelia Huck
` (2 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
When hotplugging a PCI bridge right now to the root port, we resolve
pci_get_bus(pdev)->parent_dev, which results in a SEGFAULT. Hotplugging
really only works right now when hotplugging to another bridge.
Instead, we have to properly check if we are already at the root.
Let's cleanup the code while at it a bit and factor out updating the
subordinate bus number into a separate function. The check for
"old_nr < nr" is right now not strictly necessary, but makes it more
obvious what is actually going on.
Most probably fixing up the topology is not our responsibility when
hotplugging. The guest has to sort this out. But let's keep it for now
and only fix current code to not crash.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-3-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 4200e48fb9..d85bc34617 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -877,6 +877,21 @@ static void s390_pcihost_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
}
}
+static void s390_pci_update_subordinate(PCIDevice *dev, uint32_t nr)
+{
+ uint32_t old_nr;
+
+ pci_default_write_config(dev, PCI_SUBORDINATE_BUS, nr, 1);
+ while (!pci_bus_is_root(pci_get_bus(dev))) {
+ dev = pci_get_bus(dev)->parent_dev;
+
+ old_nr = pci_default_read_config(dev, PCI_SUBORDINATE_BUS, 1);
+ if (old_nr < nr) {
+ pci_default_write_config(dev, PCI_SUBORDINATE_BUS, nr, 1);
+ }
+ }
+}
+
static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
Error **errp)
{
@@ -885,26 +900,21 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
S390PCIBusDevice *pbdev = NULL;
if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_BRIDGE)) {
- BusState *bus;
PCIBridge *pb = PCI_BRIDGE(dev);
- PCIDevice *pdev = PCI_DEVICE(dev);
+ pdev = PCI_DEVICE(dev);
pci_bridge_map_irq(pb, dev->id, s390_pci_map_irq);
pci_setup_iommu(&pb->sec_bus, s390_pci_dma_iommu, s);
- bus = BUS(&pb->sec_bus);
- qbus_set_hotplug_handler(bus, DEVICE(s), errp);
+ qbus_set_hotplug_handler(BUS(&pb->sec_bus), DEVICE(s), errp);
if (dev->hotplugged) {
pci_default_write_config(pdev, PCI_PRIMARY_BUS,
pci_dev_bus_num(pdev), 1);
s->bus_no += 1;
pci_default_write_config(pdev, PCI_SECONDARY_BUS, s->bus_no, 1);
- do {
- pdev = pci_get_bus(pdev)->parent_dev;
- pci_default_write_config(pdev, PCI_SUBORDINATE_BUS,
- s->bus_no, 1);
- } while (pci_get_bus(pdev) && pci_dev_bus_num(pdev));
+
+ s390_pci_update_subordinate(pdev, s->bus_no);
}
} else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
pdev = PCI_DEVICE(dev);
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 09/10] s390x/pci: Warn when adding PCI devices without the 'zpci' feature
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (7 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 08/10] s390x/pci: Fix hotplugging of " Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 10/10] s390x/pci: Unplug remaining requested devices on pcihost reset Cornelia Huck
2019-02-05 18:21 ` [Qemu-devel] [PULL 00/10] s390x update Peter Maydell
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
We decided to always create the PCI host bridge, even if 'zpci' is not
enabled (due to migration compatibility). This however right now allows
to add zPCI/PCI devices to a VM although the guest will never actually see
them, confusing people that are using a simple CPU model that has no
'zpci' enabled - "Why isn't this working" (David Hildenbrand)
Let's check for 'zpci' and at least print a warning that this will not
work as expected. We could also bail out, however that might break
existing QEMU commandlines.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-4-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index d85bc34617..3816fb1f11 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -860,6 +860,12 @@ static void s390_pcihost_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
{
S390pciState *s = S390_PCI_HOST_BRIDGE(hotplug_dev);
+ if (!s390_has_feat(S390_FEAT_ZPCI)) {
+ warn_report("Plugging a PCI/zPCI device without the 'zpci' CPU "
+ "feature enabled; the guest will not be able to see/use "
+ "this device");
+ }
+
if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
PCIDevice *pdev = PCI_DEVICE(dev);
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 10/10] s390x/pci: Unplug remaining requested devices on pcihost reset
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (8 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 09/10] s390x/pci: Warn when adding PCI devices without the 'zpci' feature Cornelia Huck
@ 2019-02-05 16:41 ` Cornelia Huck
2019-02-05 18:21 ` [Qemu-devel] [PULL 00/10] s390x update Peter Maydell
10 siblings, 0 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-05 16:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, David Hildenbrand, Cornelia Huck
From: David Hildenbrand <david@redhat.com>
When resetting the guest we should unplug and remove all devices that
are still pending.
With this patch, the requested device will be unplugged on reboot
(S390_RESET_EXTERNAL and S390_RESET_REIPL, which reset the pcihost bridge
via qemu_devices_reset()).
This approach is similar to what's done for acpi PCI hotplug in
acpi_pcihp_reset() -> acpi_pcihp_update() ->
acpi_pcihp_update_hotplug_bus() -> acpi_pcihp_eject_slot().
s390_pci_generate_plug_event()'s will still be generated, I guess this
is not an issue. The same thing would happen right now when unplugging
a device just before starting the guest.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190130155733.32742-7-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 3816fb1f11..80ff1ce33f 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -1093,6 +1093,21 @@ static void s390_pcihost_reset(DeviceState *dev)
{
S390pciState *s = S390_PCI_HOST_BRIDGE(dev);
PCIBus *bus = s->parent_obj.bus;
+ S390PCIBusDevice *pbdev, *next;
+
+ /* Process all pending unplug requests */
+ QTAILQ_FOREACH_SAFE(pbdev, &s->zpci_devs, link, next) {
+ if (pbdev->unplug_requested) {
+ if (pbdev->summary_ind) {
+ pci_dereg_irqs(pbdev);
+ }
+ if (pbdev->iommu->enabled) {
+ pci_dereg_ioat(pbdev->iommu);
+ }
+ pbdev->state = ZPCI_FS_STANDBY;
+ s390_pci_perform_unplug(pbdev);
+ }
+ }
/*
* When resetting a PCI bridge, the assigned numbers are set to 0. So
--
2.17.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
` (9 preceding siblings ...)
2019-02-05 16:41 ` [Qemu-devel] [PULL 10/10] s390x/pci: Unplug remaining requested devices on pcihost reset Cornelia Huck
@ 2019-02-05 18:21 ` Peter Maydell
10 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2019-02-05 18:21 UTC (permalink / raw)
To: Cornelia Huck; +Cc: qemu-s390x, QEMU Developers
On Tue, 5 Feb 2019 at 16:41, Cornelia Huck <cohuck@redhat.com> wrote:
>
> The following changes since commit a61faa3d02159d24d4fa984733dbc0c905508752:
>
> Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.0-20190204' into staging (2019-02-04 10:33:40 +0000)
>
> are available in the Git repository at:
>
> https://github.com/cohuck/qemu tags/s390x-20190205
>
> for you to fetch changes up to 2313a88fe68cb970532ba1641ffc35c848daae86:
>
> s390x/pci: Unplug remaining requested devices on pcihost reset (2019-02-05 10:34:06 +0100)
>
> ----------------------------------------------------------------
> Fixes and improvements in tcg and the zPCI code.
>
> ----------------------------------------------------------------
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/4.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 00/10] s390x update
@ 2019-02-18 11:11 Cornelia Huck
2019-02-18 11:44 ` no-reply
` (9 more replies)
0 siblings, 10 replies; 23+ messages in thread
From: Cornelia Huck @ 2019-02-18 11:11 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-s390x, qemu-devel, Cornelia Huck
The following changes since commit 1e36232994c8ad01774501d2e299deba3a2469af:
Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-20190215' into staging (2019-02-15 11:12:14 +0000)
are available in the Git repository at:
https://github.com/cohuck/qemu tags/s390x-20190218
for you to fetch changes up to 0922e8c093a564219fcb7f43b18ceb12714dd931:
s390x: upgrade status of KVM cores to "supported" (2019-02-18 12:00:44 +0100)
----------------------------------------------------------------
s390x updates:
- tcg: implement STCK and friends for CONFIG_USER_ONLY
- add zpci to qemu cpu model, as pci is now always built
- add mepoch to default z14 cpu model
- add cpu model for z14 GA2
- various improvements
----------------------------------------------------------------
Collin Walling (3):
s390x/cpumodel: mepochptff: warn when no mepoch and re-align group
init
s390x/cpumodel: default enable mepoch for z14 and later
s390x/cpumodel: add z14 GA2 model
Cornelia Huck (3):
s390x: always provide pci support
s390x/kvm: add tracepoint to ioeventfd interface
s390x: upgrade status of KVM cores to "supported"
David Hildenbrand (1):
s390x: add zPCI feature to "qemu" CPU model
Richard Henderson (2):
target/s390x: Split out s390-tod.h
target/s390x: Implement STCK et al for CONFIG_USER_ONLY
Thomas Huth (1):
s390x: Fix the confusing contributions-after-2012 license statements
MAINTAINERS | 2 +-
hw/s390x/Makefile.objs | 3 +-
hw/s390x/s390-pci-stub.c | 77 -----------------------------------
hw/s390x/s390-virtio-ccw.c | 8 ++--
include/hw/s390x/tod.h | 16 +-------
linux-user/s390x/target_cpu.h | 19 ++++-----
target/s390x/cpu.c | 19 ++++-----
target/s390x/cpu.h | 19 ++++-----
target/s390x/cpu_features.c | 2 +-
target/s390x/cpu_models.c | 34 +++++++++++++---
target/s390x/cpu_models.h | 2 +
target/s390x/gen-features.c | 18 ++++++--
target/s390x/helper.h | 2 +-
target/s390x/insn-data.def | 11 ++---
target/s390x/kvm.c | 25 +++++-------
target/s390x/misc_helper.c | 34 ++++++++++------
target/s390x/s390-tod.h | 29 +++++++++++++
target/s390x/trace-events | 1 +
target/s390x/translate.c | 2 +
19 files changed, 150 insertions(+), 173 deletions(-)
delete mode 100644 hw/s390x/s390-pci-stub.c
create mode 100644 target/s390x/s390-tod.h
--
2.17.2
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
@ 2019-02-18 11:44 ` no-reply
2019-02-18 11:48 ` no-reply
` (8 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 11:44 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Switched to a new branch 'test'
470cfcc0f2 s390x: upgrade status of KVM cores to "supported"
e948bc58e2 s390x/kvm: add tracepoint to ioeventfd interface
5938727dc8 s390x/cpumodel: add z14 GA2 model
93952af6c4 s390x/cpumodel: default enable mepoch for z14 and later
4a088c7b33 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
b3c4e2b49f s390x: add zPCI feature to "qemu" CPU model
685a7329be target/s390x: Implement STCK et al for CONFIG_USER_ONLY
66aa7432df target/s390x: Split out s390-tod.h
e1a84113c9 s390x: always provide pci support
49da899c24 s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 49da899c2447 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit e1a84113c9eb (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 66aa7432dfeb (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 685a7329beab (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit b3c4e2b49f9d (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit 4a088c7b337a (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 93952af6c457 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 5938727dc867 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit e948bc58e22f (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 470cfcc0f248 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
2019-02-18 11:44 ` no-reply
@ 2019-02-18 11:48 ` no-reply
2019-02-18 12:19 ` no-reply
` (7 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 11:48 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '3464681b2b5983df80086a40179d324102347da3'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
470cfcc s390x: upgrade status of KVM cores to "supported"
e948bc5 s390x/kvm: add tracepoint to ioeventfd interface
5938727 s390x/cpumodel: add z14 GA2 model
93952af s390x/cpumodel: default enable mepoch for z14 and later
4a088c7 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
b3c4e2b s390x: add zPCI feature to "qemu" CPU model
685a732 target/s390x: Implement STCK et al for CONFIG_USER_ONLY
66aa743 target/s390x: Split out s390-tod.h
e1a8411 s390x: always provide pci support
49da899 s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 49da899c2447 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit e1a84113c9eb (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 66aa7432dfeb (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 685a7329beab (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit b3c4e2b49f9d (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit 4a088c7b337a (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 93952af6c457 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 5938727dc867 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit e948bc58e22f (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 470cfcc0f248 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
2019-02-18 11:44 ` no-reply
2019-02-18 11:48 ` no-reply
@ 2019-02-18 12:19 ` no-reply
2019-02-18 12:22 ` no-reply
` (6 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 12:19 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Switched to a new branch 'test'
328f0fc409 s390x: upgrade status of KVM cores to "supported"
0293a19739 s390x/kvm: add tracepoint to ioeventfd interface
d136881dc5 s390x/cpumodel: add z14 GA2 model
831f68c1a4 s390x/cpumodel: default enable mepoch for z14 and later
26ec674c51 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
79961d3fa5 s390x: add zPCI feature to "qemu" CPU model
927924fc86 target/s390x: Implement STCK et al for CONFIG_USER_ONLY
83b7f84260 target/s390x: Split out s390-tod.h
519a21ca8b s390x: always provide pci support
8d27e0d635 s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 8d27e0d6358b (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 519a21ca8b39 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 83b7f84260c6 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 927924fc86a0 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit 79961d3fa5eb (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit 26ec674c51a1 (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 831f68c1a4ad (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit d136881dc583 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit 0293a197399f (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 328f0fc409b5 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (2 preceding siblings ...)
2019-02-18 12:19 ` no-reply
@ 2019-02-18 12:22 ` no-reply
2019-02-18 12:55 ` no-reply
` (5 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 12:22 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
- [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '3464681b2b5983df80086a40179d324102347da3'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
328f0fc s390x: upgrade status of KVM cores to "supported"
0293a19 s390x/kvm: add tracepoint to ioeventfd interface
d136881 s390x/cpumodel: add z14 GA2 model
831f68c s390x/cpumodel: default enable mepoch for z14 and later
26ec674 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
79961d3 s390x: add zPCI feature to "qemu" CPU model
927924f target/s390x: Implement STCK et al for CONFIG_USER_ONLY
83b7f84 target/s390x: Split out s390-tod.h
519a21c s390x: always provide pci support
8d27e0d s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 8d27e0d6358b (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 519a21ca8b39 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 83b7f84260c6 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 927924fc86a0 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit 79961d3fa5eb (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit 26ec674c51a1 (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 831f68c1a4ad (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit d136881dc583 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit 0293a197399f (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 328f0fc409b5 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (3 preceding siblings ...)
2019-02-18 12:22 ` no-reply
@ 2019-02-18 12:55 ` no-reply
2019-02-18 12:59 ` no-reply
` (4 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 12:55 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Switched to a new branch 'test'
ad18a1e8f9 s390x: upgrade status of KVM cores to "supported"
f51dcb1de7 s390x/kvm: add tracepoint to ioeventfd interface
44a5efda3d s390x/cpumodel: add z14 GA2 model
73f9841ebe s390x/cpumodel: default enable mepoch for z14 and later
e3de398038 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
b5675c4afd s390x: add zPCI feature to "qemu" CPU model
998aa975c5 target/s390x: Implement STCK et al for CONFIG_USER_ONLY
f408f4d152 target/s390x: Split out s390-tod.h
02e8bbca30 s390x: always provide pci support
321d3bfebc s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 321d3bfebc46 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 02e8bbca30b5 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit f408f4d152b3 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 998aa975c5f9 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit b5675c4afda7 (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit e3de398038bd (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 73f9841ebe92 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 44a5efda3dcf (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit f51dcb1de7ce (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit ad18a1e8f908 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (4 preceding siblings ...)
2019-02-18 12:55 ` no-reply
@ 2019-02-18 12:59 ` no-reply
2019-02-18 13:31 ` no-reply
` (3 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 12:59 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
- [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '3464681b2b5983df80086a40179d324102347da3'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
ad18a1e s390x: upgrade status of KVM cores to "supported"
f51dcb1 s390x/kvm: add tracepoint to ioeventfd interface
44a5efd s390x/cpumodel: add z14 GA2 model
73f9841 s390x/cpumodel: default enable mepoch for z14 and later
e3de398 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
b5675c4 s390x: add zPCI feature to "qemu" CPU model
998aa97 target/s390x: Implement STCK et al for CONFIG_USER_ONLY
f408f4d target/s390x: Split out s390-tod.h
02e8bbc s390x: always provide pci support
321d3bf s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 321d3bfebc46 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 02e8bbca30b5 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit f408f4d152b3 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 998aa975c5f9 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit b5675c4afda7 (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit e3de398038bd (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 73f9841ebe92 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 44a5efda3dcf (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit f51dcb1de7ce (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit ad18a1e8f908 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (5 preceding siblings ...)
2019-02-18 12:59 ` no-reply
@ 2019-02-18 13:31 ` no-reply
2019-02-18 14:07 ` no-reply
` (2 subsequent siblings)
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 13:31 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/20190218101218.4177-1-ppandit@redhat.com -> patchew/20190218101218.4177-1-ppandit@redhat.com
t [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
* [new tag] patchew/20190218125615.18970-1-armbru@redhat.com -> patchew/20190218125615.18970-1-armbru@redhat.com
Switched to a new branch 'test'
de6ad1a8c2 s390x: upgrade status of KVM cores to "supported"
5f9a5da1e2 s390x/kvm: add tracepoint to ioeventfd interface
5209f76bb2 s390x/cpumodel: add z14 GA2 model
c96171aaa2 s390x/cpumodel: default enable mepoch for z14 and later
699fb0f989 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
d373f8891a s390x: add zPCI feature to "qemu" CPU model
3f3663d5be target/s390x: Implement STCK et al for CONFIG_USER_ONLY
8f9cead3d6 target/s390x: Split out s390-tod.h
f66f5eca0e s390x: always provide pci support
4788053181 s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 4788053181e3 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit f66f5eca0ee2 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 8f9cead3d64b (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 3f3663d5be00 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit d373f8891a69 (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit 699fb0f98995 (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit c96171aaa24b (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 5209f76bb237 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit 5f9a5da1e227 (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit de6ad1a8c2ef (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (6 preceding siblings ...)
2019-02-18 13:31 ` no-reply
@ 2019-02-18 14:07 ` no-reply
2019-02-18 14:09 ` Peter Maydell
2019-02-18 14:11 ` no-reply
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 14:07 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Switched to a new branch 'test'
30bd10a753 s390x: upgrade status of KVM cores to "supported"
d0c8053e37 s390x/kvm: add tracepoint to ioeventfd interface
58912e7c70 s390x/cpumodel: add z14 GA2 model
f0a763165c s390x/cpumodel: default enable mepoch for z14 and later
b57cf83254 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
4036f9a67e s390x: add zPCI feature to "qemu" CPU model
625c89c556 target/s390x: Implement STCK et al for CONFIG_USER_ONLY
2a49e616b7 target/s390x: Split out s390-tod.h
1eaa7f0eda s390x: always provide pci support
602fe9bdb0 s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 602fe9bdb008 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 1eaa7f0eda15 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 2a49e616b722 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 625c89c556d5 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit 4036f9a67eee (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit b57cf832547f (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit f0a763165c94 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 58912e7c7085 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit d0c8053e3756 (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 30bd10a75380 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (7 preceding siblings ...)
2019-02-18 14:07 ` no-reply
@ 2019-02-18 14:09 ` Peter Maydell
2019-02-18 14:11 ` no-reply
9 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2019-02-18 14:09 UTC (permalink / raw)
To: Cornelia Huck; +Cc: qemu-s390x, QEMU Developers
On Mon, 18 Feb 2019 at 11:11, Cornelia Huck <cohuck@redhat.com> wrote:
>
> The following changes since commit 1e36232994c8ad01774501d2e299deba3a2469af:
>
> Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-20190215' into staging (2019-02-15 11:12:14 +0000)
>
> are available in the Git repository at:
>
> https://github.com/cohuck/qemu tags/s390x-20190218
>
> for you to fetch changes up to 0922e8c093a564219fcb7f43b18ceb12714dd931:
>
> s390x: upgrade status of KVM cores to "supported" (2019-02-18 12:00:44 +0100)
>
> ----------------------------------------------------------------
> s390x updates:
> - tcg: implement STCK and friends for CONFIG_USER_ONLY
> - add zpci to qemu cpu model, as pci is now always built
> - add mepoch to default z14 cpu model
> - add cpu model for z14 GA2
> - various improvements
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/4.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] s390x update
2019-02-18 11:11 Cornelia Huck
` (8 preceding siblings ...)
2019-02-18 14:09 ` Peter Maydell
@ 2019-02-18 14:11 ` no-reply
9 siblings, 0 replies; 23+ messages in thread
From: no-reply @ 2019-02-18 14:11 UTC (permalink / raw)
To: cohuck; +Cc: fam, peter.maydell, qemu-s390x, qemu-devel
Patchew URL: https://patchew.org/QEMU/20190218111153.22681-1-cohuck@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190218111153.22681-1-cohuck@redhat.com
Subject: [Qemu-devel] [PULL 00/10] s390x update
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
- [tag update] patchew/20190218111153.22681-1-cohuck@redhat.com -> patchew/20190218111153.22681-1-cohuck@redhat.com
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '3464681b2b5983df80086a40179d324102347da3'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
30bd10a s390x: upgrade status of KVM cores to "supported"
d0c8053 s390x/kvm: add tracepoint to ioeventfd interface
58912e7 s390x/cpumodel: add z14 GA2 model
f0a7631 s390x/cpumodel: default enable mepoch for z14 and later
b57cf83 s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
4036f9a s390x: add zPCI feature to "qemu" CPU model
625c89c target/s390x: Implement STCK et al for CONFIG_USER_ONLY
2a49e61 target/s390x: Split out s390-tod.h
1eaa7f0 s390x: always provide pci support
602fe9b s390x: Fix the confusing contributions-after-2012 license statements
=== OUTPUT BEGIN ===
1/10 Checking commit 602fe9bdb008 (s390x: Fix the confusing contributions-after-2012 license statements)
2/10 Checking commit 1eaa7f0eda15 (s390x: always provide pci support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40:
deleted file mode 100644
total: 0 errors, 1 warnings, 47 lines checked
Patch 2/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit 2a49e616b722 (target/s390x: Split out s390-tod.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52:
new file mode 100644
total: 0 errors, 1 warnings, 57 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 625c89c556d5 (target/s390x: Implement STCK et al for CONFIG_USER_ONLY)
5/10 Checking commit 4036f9a67eee (s390x: add zPCI feature to "qemu" CPU model)
6/10 Checking commit b57cf832547f (s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init)
ERROR: line over 90 characters
#38: FILE: target/s390x/cpu_features.c:468:
+ FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
total: 1 errors, 0 warnings, 24 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit f0a763165c94 (s390x/cpumodel: default enable mepoch for z14 and later)
WARNING: line over 80 characters
#31: FILE: hw/s390x/s390-virtio-ccw.c:663:
+ s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
total: 0 errors, 1 warnings, 55 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 58912e7c7085 (s390x/cpumodel: add z14 GA2 model)
9/10 Checking commit d0c8053e3756 (s390x/kvm: add tracepoint to ioeventfd interface)
10/10 Checking commit 30bd10a75380 (s390x: upgrade status of KVM cores to "supported")
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190218111153.22681-1-cohuck@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2019-02-18 14:12 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-05 16:40 [Qemu-devel] [PULL 00/10] s390x update Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 01/10] target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 02/10] s390x: remove direct reference to mem_path global from s390x code Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 03/10] s390x/pci: Introduce unplug requests and split unplug handler Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 04/10] s390x/pci: Drop release timer and replace it with a flag Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 05/10] s390x/pci: mark zpci devices as unmigratable Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 06/10] s390x/tcg: Don't model FP registers as globals Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 07/10] s390x/pci: Fix primary bus number for PCI bridges Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 08/10] s390x/pci: Fix hotplugging of " Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 09/10] s390x/pci: Warn when adding PCI devices without the 'zpci' feature Cornelia Huck
2019-02-05 16:41 ` [Qemu-devel] [PULL 10/10] s390x/pci: Unplug remaining requested devices on pcihost reset Cornelia Huck
2019-02-05 18:21 ` [Qemu-devel] [PULL 00/10] s390x update Peter Maydell
-- strict thread matches above, loose matches on Subject: below --
2019-02-18 11:11 Cornelia Huck
2019-02-18 11:44 ` no-reply
2019-02-18 11:48 ` no-reply
2019-02-18 12:19 ` no-reply
2019-02-18 12:22 ` no-reply
2019-02-18 12:55 ` no-reply
2019-02-18 12:59 ` no-reply
2019-02-18 13:31 ` no-reply
2019-02-18 14:07 ` no-reply
2019-02-18 14:09 ` Peter Maydell
2019-02-18 14:11 ` no-reply
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).