Re: [Qemu-devel] [PATCH v5 2/2] memory-device: rewrite address assignment using ranges

2018-12-17 Thread Igor Mammedov
On Fri, 14 Dec 2018 14:10:43 +0100 David Hildenbrand wrote: > Let's rewrite it properly using ranges. This fixes certain overflows that > are right now possible. E.g. > > qemu-system-x86_64 -m 4G,slots=20,maxmem=40G -M pc \ > -object memory-backend-file,id=mem1,share,mem-path=/dev/zero,size=

Re: [Qemu-devel] [PATCH v8 07/12] spapr: add an extra OV5 field to the sPAPR IRQ backend

2018-12-17 Thread Cédric Le Goater
On 12/17/18 6:27 AM, David Gibson wrote: > On Tue, Dec 11, 2018 at 11:38:18PM +0100, Cédric Le Goater wrote: >> The interrupt modes supported by the hypervisor are advertised to the >> guest with new bits definitions of the option vector 5 of property >> "ibm,arch-vec-5-platform-support. The byte 2

Re: [Qemu-devel] [PULL 00/27] ppc-for-4.0 queue 20181213

2018-12-17 Thread Cédric Le Goater
On 12/17/18 2:03 AM, David Gibson wrote: > On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: >> On 12/14/18 5:03 PM, Peter Maydell wrote: >>> On Thu, 13 Dec 2018 at 04:01, David Gibson >>> wrote: The following changes since commit 4b3aab204204ca742836219b97b538d905

[Qemu-devel] [PATCH v7 00/23] Add support for RDMA MAD

2018-12-17 Thread Yuval Shaia
Hi all. This is a major enhancement to the pvrdma device to allow it to work with state of the art applications such as MPI. As described in patch #5, MAD packets are management packets that are used for many purposes including but not limited to communication layer above IB verbs API. Patch 1 e

[Qemu-devel] [PATCH v7 04/23] hw/rdma: Abort send-op if fail to create addr handler

2018-12-17 Thread Yuval Shaia
Function create_ah might return NULL, let's exit with an error. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/rdma_backend.c | 4 1 file changed, 4 insertions(+) diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c index d7a4bbd91f..1e148398a2 100644 --- a/h

[Qemu-devel] [PATCH v7 02/23] hw/rdma: Add ability to force notification without re-arm

2018-12-17 Thread Yuval Shaia
Upon completion of incoming packet the device pushes CQE to driver's RX ring and notify the driver (msix). While for data-path incoming packets the driver needs the ability to control whether it wished to receive interrupts or not, for control-path packets such as incoming MAD the driver needs to b

[Qemu-devel] [PATCH v7 01/23] contrib/rdmacm-mux: Add implementation of RDMA User MAD multiplexer

2018-12-17 Thread Yuval Shaia
RDMA MAD kernel module (ibcm) disallow more than one MAD-agent for a given MAD class. This does not go hand-by-hand with qemu pvrdma device's requirements where each VM is MAD agent. Fix it by adding implementation of RDMA MAD multiplexer service which on one hand register as a sole MAD agent with

[Qemu-devel] [PATCH v7 03/23] hw/rdma: Return qpn 1 if ibqp is NULL

2018-12-17 Thread Yuval Shaia
Device is not supporting QP0, only QP1. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/rdma_backend.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/rdma/rdma_backend.h b/hw/rdma/rdma_backend.h index 86e8fe8ab6..3ccc9a2494 100644 --- a/hw/rdma/rdma_

[Qemu-devel] [PATCH v7 05/23] hw/rdma: Add support for MAD packets

2018-12-17 Thread Yuval Shaia
MAD (Management Datagram) packets are widely used by various modules both in kernel and in user space for example the rdma_* API which is used to create and maintain "connection" layer on top of RDMA uses several types of MAD packets. For more information please refer to chapter 13.4 in Volume 1 A

[Qemu-devel] [PATCH v7 08/23] hw/pvrdma: Set the correct opcode for recv completion

2018-12-17 Thread Yuval Shaia
The function pvrdma_post_cqe populates CQE entry with opcode from the given completion element. For receive operation value was not set. Fix it by setting it to IBV_WC_RECV. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma_qp_ops.c | 3 ++- 1 file changed, 2 inser

[Qemu-devel] [PATCH v7 07/23] hw/pvrdma: Make default pkey 0xFFFF

2018-12-17 Thread Yuval Shaia
Commit 6e7dba23af ("hw/pvrdma: Make default pkey 0x") exports default pkey as external definition but omit the change from 0x7FFF to 0x. Fixes: 6e7dba23af ("hw/pvrdma: Make default pkey 0x") Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma.h | 2 +- 1

[Qemu-devel] [PATCH v7 06/23] hw/pvrdma: Make function reset_device return void

2018-12-17 Thread Yuval Shaia
This function cannot fail - fix it to return void Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma_main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c index 6c8c0154fa..fc2abd34af 1006

[Qemu-devel] [PATCH v7 10/23] qapi: Define new QMP message for pvrdma

2018-12-17 Thread Yuval Shaia
pvrdma requires that the same GID attached to it will be attached to the backend device in the host. A new QMP messages is defined so pvrdma device can broadcast any change made to its GID table. This event is captured by libvirt which in turn will update the GID table in the backend device. Dep

[Qemu-devel] [PATCH v7 12/23] vmxnet3: Move some definitions to header file

2018-12-17 Thread Yuval Shaia
pvrdma setup requires vmxnet3 device on PCI function 0 and PVRDMA device on PCI function 1. pvrdma device needs to access vmxnet3 device object for several reasons: 1. Make sure PCI function 0 is vmxnet3. 2. To monitor vmxnet3 device state. 3. To configure node_guid accoring to vmxnet3 device's MAC

[Qemu-devel] [PATCH v7 20/23] hw/pvrdma: Clean device's resource when system is shutdown

2018-12-17 Thread Yuval Shaia
In order to clean some external resources such as GIDs, QPs etc, register to receive notification when VM is shutdown. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma.h | 2 ++ hw/rdma/vmw/pvrdma_main.c | 15 +++ 2 files changed, 17 insertions(+

[Qemu-devel] [PATCH v7 11/23] hw/pvrdma: Add support to allow guest to configure GID table

2018-12-17 Thread Yuval Shaia
The control over the RDMA device's GID table is done by updating the device's Ethernet function addresses. Usually the first GID entry is determined by the MAC address, the second by the first IPv6 address and the third by the IPv4 address. Other entries can be added by adding more IP addresses. Th

[Qemu-devel] [PATCH v7 23/23] docs: Update pvrdma device documentation

2018-12-17 Thread Yuval Shaia
Interface with the device is changed with the addition of support for MAD packets. Adjust documentation accordingly. While there fix a minor mistake which may lead to think that there is a relation between using RXE on host and the compatibility with bare-metal peers. Signed-off-by: Yuval Shaia

[Qemu-devel] [PATCH v7 18/23] hw/rdma: Remove unneeded code that handles more that one port

2018-12-17 Thread Yuval Shaia
Device supports only one port, let's remove a dead code that handles more than one port. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/rdma_rm.c | 34 -- hw/rdma/rdma_rm.h | 2 +- hw/rdma/rdma_rm_defs.h | 4 ++-- 3 files changed

[Qemu-devel] [PATCH v7 09/23] hw/pvrdma: Set the correct opcode for send completion

2018-12-17 Thread Yuval Shaia
opcode for WC should be set by the device and not taken from work element. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma_qp_ops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/rdma/vmw/pvrdma_qp_ops.c b/hw/rdma/vmw/pvrdma_qp_ops.c index

[Qemu-devel] [PATCH v7 22/23] hw/rdma: Do not call rdma_backend_del_gid on an empty gid

2018-12-17 Thread Yuval Shaia
When device goes down the function fini_ports loops over all entries in gid table regardless of the fact whether entry is valid or not. In case that entry is not valid we'd like to skip from any further processing in backend device. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- h

[Qemu-devel] [PATCH v7 13/23] hw/pvrdma: Make sure PCI function 0 is vmxnet3

2018-12-17 Thread Yuval Shaia
Guest driver enforces it, we should also. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma.h | 2 ++ hw/rdma/vmw/pvrdma_main.c | 12 2 files changed, 14 insertions(+) diff --git a/hw/rdma/vmw/pvrdma.h b/hw/rdma/vmw/pvrdma.h index b019cb843a..10

[Qemu-devel] [PATCH v7 15/23] hw/pvrdma: Make device state depend on Ethernet function state

2018-12-17 Thread Yuval Shaia
User should be able to control the device by changing Ethernet function state so if user runs 'ifconfig ens3 down' the PVRDMA function should be down as well. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma_cmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deleti

[Qemu-devel] [PATCH v7 14/23] hw/rdma: Initialize node_guid from vmxnet3 mac address

2018-12-17 Thread Yuval Shaia
node_guid should be set once device is load. Make node_guid be GID format (32 bit) of PCI function 0 vmxnet3 device's MAC. A new function was added to do the conversion. So for example the MAC 56:b6:44:e9:62:dc will be converted to GID 54b6:44ff:fee9:62dc. Signed-off-by: Yuval Shaia Reviewed-by:

[Qemu-devel] [PATCH v7 16/23] hw/pvrdma: Fill all CQE fields

2018-12-17 Thread Yuval Shaia
Add ability to pass specific WC attributes to CQE such as GRH_BIT flag. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/rdma_backend.c | 59 +++-- hw/rdma/rdma_backend.h | 4 +-- hw/rdma/vmw/pvrdma_qp_ops.c | 31 +++

[Qemu-devel] [PATCH v7 17/23] hw/pvrdma: Fill error code in command's response

2018-12-17 Thread Yuval Shaia
Driver checks error code let's set it. In addition, for code simplification purposes, set response's fields ack, response and err outside of the scope of command handlers. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/vmw/pvrdma_cmd.c | 199 ++-

[Qemu-devel] [PATCH v7 19/23] vl: Introduce shutdown_notifiers

2018-12-17 Thread Yuval Shaia
Notifier will be used for signaling shutdown event to inform system is shutdown. This will allow devices and other component to run some cleanup code needed before VM is shutdown. Signed-off-by: Yuval Shaia Reviewed-by: Cornelia Huck --- include/sysemu/sysemu.h | 1 + vl.c|

[Qemu-devel] [PATCH v7 21/23] hw/rdma: Do not use bitmap_zero_extend to free bitmap

2018-12-17 Thread Yuval Shaia
bitmap_zero_extend is designed to work for extending, not for shrinking. Using g_free instead. Signed-off-by: Yuval Shaia Reviewed-by: Marcel Apfelbaum --- hw/rdma/rdma_rm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/rdma/rdma_rm.c b/hw/rdma/rdma_rm.c index b7d4ebe97

Re: [Qemu-devel] [PATCH v8 00/16] gdbstub: support for the multiprocess extension

2018-12-17 Thread Luc Michel
Hi all, What do you think of this re-roll? Is it in good shape for upstreaming? Thanks! -- Luc On 12/7/18 10:01 AM, Luc Michel wrote: > changes since v7: > - patch 1Add documentation about cpu-cluster [Eduardo, Peter] > > - patch 1Remove the cluster-id auto-assign mechanism [Eduar

Re: [Qemu-devel] [PATCH v3] s390x/pci: add common fmb

2018-12-17 Thread Cornelia Huck
On Fri, 14 Dec 2018 17:53:41 +0100 Pierre Morel wrote: > After the last review round I worked on endianness. > Doing this I found some errors in the code and in the interpretation > of the documentation. > > The new patch changed the following from previous version: > > In s390-pci-bus: > -

Re: [Qemu-devel] [PATCH 2/2] avoid TABs in files that only contain a few

2018-12-17 Thread Stefan Markovic
On 13.12.18. 23:37, Paolo Bonzini wrote: > Most files that have TABs only contain a handful of them. Change > them to spaces so that we don't confuse people. > > disas, standard-headers, linux-headers and libdecnumber are imported > from other projects and probably should be exempted from the che

Re: [Qemu-devel] [PATCH qemu v3] ppc/spapr: Receive and store device tree blob from SLOF

2018-12-17 Thread David Gibson
On Fri, Dec 14, 2018 at 12:55:20PM +1100, Alexey Kardashevskiy wrote: > SLOF receives a device tree and updates it with various properties > before switching to the guest kernel and QEMU is not aware of any changes > made by SLOF. Since there is no real RTAS (QEMU implements it), it makes > sense t

Re: [Qemu-devel] [PATCH v2 6/7] iotests: allow pretty-print for qmp_log

2018-12-17 Thread Vladimir Sementsov-Ogievskiy
14.12.2018 23:51, John Snow wrote: > > > On 12/13/18 8:09 AM, Vladimir Sementsov-Ogievskiy wrote: >> 13.12.2018 4:50, John Snow wrote: >>> If iotests have lines exceeding >998 characters long, git doesn't >>> want to send it plaintext to the list. We can solve this by allowing >>> the iotests to

Re: [Qemu-devel] [PULL 00/15] Hardfloat + softfloat maintainers update and gitdm

2018-12-17 Thread Alex Bennée
Peter Maydell writes: > On Fri, 14 Dec 2018 at 13:54, Alex Bennée wrote: >> >> The following changes since commit d8d5fefd8657d4f7b380b3a1533340434b5b9def: >> >> Merge remote-tracking branch >> 'remotes/berrange/tags/qcrypto-next-pull-request' into staging (2018-12-13 >> 18:45:18 +) >>

Re: [Qemu-devel] [PATCH v6 27/28] arm: replace instance_post_init()

2018-12-17 Thread Igor Mammedov
On Thu, 13 Dec 2018 01:48:49 +0400 Marc-André Lureau wrote: > Replace arm_cpu_post_init() instance callback by calling it from leaf > classes, to avoid potential ordering issue with other post_init callbacks. > > Signed-off-by: Marc-André Lureau > Suggested-by: Igor Mammedov Reviewed-by: Igor

Re: [Qemu-devel] [PULL 00/27] ppc-for-4.0 queue 20181213

2018-12-17 Thread Cédric Le Goater
On 12/17/18 9:04 AM, Cédric Le Goater wrote: > On 12/17/18 2:03 AM, David Gibson wrote: >> On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: >>> On 12/14/18 5:03 PM, Peter Maydell wrote: On Thu, 13 Dec 2018 at 04:01, David Gibson wrote: > > The following changes

Re: [Qemu-devel] [PATCH v8 00/12] ppc: support for the XIVE interrupt controller (POWER9)

2018-12-17 Thread Cédric Le Goater
On 12/17/18 6:29 AM, David Gibson wrote: > On Tue, Dec 11, 2018 at 11:38:11PM +0100, Cédric Le Goater wrote: >> Hello, >> >> Here is the version 8 of the QEMU models adding support for the XIVE >> interrupt controller to the sPAPR machine, under TCG only. KVM support >> will be proposed in an other

Re: [Qemu-devel] [PATCH v10 8/9] qcow2: skip writing zero buffers to empty COW areas

2018-12-17 Thread Anton Nefedov
On 14/12/2018 7:20 PM, Vladimir Sementsov-Ogievskiy wrote: > 03.12.2018 13:14, Anton Nefedov wrote: >> If COW areas of the newly allocated clusters are zeroes on the backing image, >> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole >> cluster instead of writing expli

Re: [Qemu-devel] [PATCH] tests: Exit boot-serial-test loop if child dies

2018-12-17 Thread Thomas Huth
On 2018-12-17 04:58, Richard Henderson wrote: > There's no point in waiting 5 full minutes when there will be > no more output. Sounds like a very good idea, indeed. As a follow up patch, we should likely use this in the other tests that use TCG, too (i.e. in boot_sector_test() in tests/boot-sect

Re: [Qemu-devel] [qemu-web PATCH v2] Add license files for GPLv2+ and CC-BY-SA-4.0

2018-12-17 Thread Thomas Huth
On 2018-12-07 17:54, Daniel P. Berrangé wrote: > The intent is that from this point onwards, content for this repository > is dual-licensed under the GPLv2+ and CC-BY-SA-4.0 Thanks for taking care of this! Some remarks / questions below... [...] > --- > LICENSE-CC-BY-3.0.md | 324 ++

[Qemu-devel] [PULL v3 08/15] tests/fp: add fp-bench

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" These microbenchmarks will allow us to measure the performance impact of FP emulation optimizations. Note that we can measure both directly the impact on the softfloat functions (with "-t soft"), or the impact on an emulated workload (call with "-t host" and run under qemu

[Qemu-devel] [PULL v3 14/15] hardfloat: implement float32/64 square root

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results for fp-bench: Host: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: sqrt-single: 42.30 MFlops sqrt-double: 22.97 MFlops - after: sqrt-single: 311.42 MFlops sqrt-double: 311.08 MFlops Here USE_FP makes a huge difference for f64's, with throughput goi

Re: [Qemu-devel] [PATCH] tests: Exit boot-serial-test loop if child dies

2018-12-17 Thread Philippe Mathieu-Daudé
On 12/17/18 4:58 AM, Richard Henderson wrote: > There's no point in waiting 5 full minutes when there will be > no more output. Compute timeout based on elapsed wall clock > time instead of N * delays, as the delay is a minimum sleep time. > > Cc: Thomas Huth > Cc: Laurent Vivier > Cc: Paolo Bo

[Qemu-devel] [PULL v3 15/15] hardfloat: implement float32/64 comparison

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results for fp-bench: Host: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: cmp-single: 110.98 MFlops cmp-double: 107.12 MFlops - after: cmp-single: 506.28 MFlops cmp-double: 524.77 MFlops Note that flattening both eq and eq_signaling versions would give us

[Qemu-devel] [PULL v3 03/15] fp-test: pick TARGET_ARM to get its specialization

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" This gets rid of the muladd errors due to not raising the invalid flag. - Before: Errors found in f64_mulAdd, rounding near_even, tininess before rounding: +000.0 +7FF.0 +7FF.F => +7FF.F . expected -7FF.FFF

[Qemu-devel] [PULL v3 09/15] fpu: introduce hardfloat

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" The appended paves the way for leveraging the host FPU for a subset of guest FP operations. For most guest workloads (e.g. FP flags aren't ever cleared, inexact occurs often and rounding is set to the default [to nearest]) this will yield sizable performance speedups. The

[Qemu-devel] [PULL v3 12/15] hardfloat: implement float32/64 division

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results for fp-bench: 1. Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: div-single: 34.84 MFlops div-double: 34.04 MFlops - after: div-single: 275.23 MFlops div-double: 216.38 MFlops 2. ARM Aarch64 A57 @ 2.4GHz - before: div-single: 9.33 MFlops div-double:

[Qemu-devel] [PATCH v4 4/8] hw: arm: Carry RSDP specific data through AcpiRsdpData

2018-12-17 Thread Samuel Ortiz
That will allow us to generalize the ARM build_rsdp() routine to support both legacy RSDP (The current i386 implementation) and extended RSDP (The ARM implementation). Signed-off-by: Samuel Ortiz Reviewed-by: Igor Mammedov Reviewed-by: Andrew Jones --- include/hw/acpi/acpi-defs.h | 8

[Qemu-devel] [PATCH v4 6/8] hw: arm: Support both legacy and current RSDP build

2018-12-17 Thread Samuel Ortiz
We add the ability to build legacy or current RSDP tables, based on the AcpiRsdpData revision field passed to build_rsdp(). Although arm/virt only uses RSDP v2, adding that capability to build_rsdp will allow us to share the RSDP build code between ARM and x86. Signed-off-by: Samuel Ortiz Reviewe

[Qemu-devel] [PULL v3 11/15] hardfloat: implement float32/64 multiplication

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results for fp-bench: 1. Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: mul-single: 126.91 MFlops mul-double: 118.28 MFlops - after: mul-single: 258.02 MFlops mul-double: 197.96 MFlops 2. ARM Aarch64 A57 @ 2.4GHz - before: mul-single: 37.42 MFlops mul-doub

[Qemu-devel] [PATCH v4 0/8] hw: acpi: RSDP fixes and refactoring

2018-12-17 Thread Samuel Ortiz
This patch serie fixes a couple of RSDP checksum related issues: - On RSDP rev2, we are not adding the extended checksum and computing the checksum on the full table instead of the first 20 bytes. - On RSDP rev1, we are computing the checksum on 36 bytes instead of 20. We're lucky enough that

[Qemu-devel] [PULL v3 06/15] softfloat: rename canonicalize to sf_canonicalize

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" glibc >= 2.25 defines canonicalize in commit eaf5ad0 (Add canonicalize, canonicalizef, canonicalizel., 2016-10-26). Given that we'll be including soon, prepare for this by prefixing our canonicalize() with sf_ to avoid clashing with the libc's canonicalize(). Reported-by

[Qemu-devel] [PATCH v4 7/8] hw: acpi: Export and share the ARM RSDP build

2018-12-17 Thread Samuel Ortiz
Now that build_rsdp() supports building both legacy and current RSDP tables, we can move it to a generic folder (hw/acpi) and have the i386 ACPI code reuse it in order to reduce code duplication. Signed-off-by: Samuel Ortiz Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé R

[Qemu-devel] [PULL v3 10/15] hardfloat: implement float32/64 addition and subtraction

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results (single and double precision) for fp-bench: 1. Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: add-single: 135.07 MFlops add-double: 131.60 MFlops sub-single: 130.04 MFlops sub-double: 133.01 MFlops - after: add-single: 443.04 MFlops add-double: 301.

[Qemu-devel] [PULL v3 00/15] Hardfloat + softfloat maintainers update and gitdm

2018-12-17 Thread Alex Bennée
The following changes since commit b019f5e5375224a003f260c89d424fea7767b7fc: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-misc-20181214' into staging (2018-12-16 16:32:43 +) are available in the Git repository at: https://github.com/stsquad/qemu.git tags/pull-hardfloat-and-g

[Qemu-devel] [PATCH v4 2/8] hw: arm: acpi: Fix incorrect checksums in RSDP

2018-12-17 Thread Samuel Ortiz
From: Igor Mammedov When RSDP table was introduced (d4bec5d87), we calculated only legacy checksum, and that was incorrect as it - specified rev=2 and forgot about extended checksum. - legacy checksum calculated on full table instead of the 1st 20 bytes Fix it by adding extended checksum calcu

[Qemu-devel] [PATCH v4 1/8] hw: acpi: The RSDP build API can return void

2018-12-17 Thread Samuel Ortiz
For both x86 and ARM architectures, the internal RSDP build API can return void as the current return value is unused. Signed-off-by: Samuel Ortiz Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Andrew Jone

[Qemu-devel] [PULL v3 07/15] softfloat: add float{32, 64}_is_zero_or_normal

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" These will gain some users very soon. Reviewed-by: Alex Bennée Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h index 9eeccd88a5..38a5e99cf3 100644 --- a/include/fpu/softfloat.h +++ b/include/fpu/so

[Qemu-devel] [PULL v3 02/15] MAINTAINERS: update status of FPU emulation

2018-12-17 Thread Alex Bennée
Given I've spent a fair amount of time around this code now I'm putting myself forward as a maintainer. Also given that the code has been extensively re-written and has testing and new incoming features it is probably more than just Odd Fixes. Signed-off-by: Alex Bennée Reviewed-by: Philippe Math

Re: [Qemu-devel] [PATCH v8 12/12] spapr: change default CPU type to POWER9

2018-12-17 Thread Cédric Le Goater
On 12/17/18 7:07 AM, David Gibson wrote: > On Tue, Dec 11, 2018 at 11:38:23PM +0100, Cédric Le Goater wrote: >> Signed-off-by: Cédric Le Goater > > Uh.. this will need something to keep the default at POWER8 for the > older machine types. :) Yes. That was an excess of enthusiasm for my part I su

[Qemu-devel] [PULL v3 05/15] target/tricore: use float32_is_denormal

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Reviewed-by: Bastian Koppelmann Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée diff --git a/target/tricore/fpu_helper.c b/target/tricore/fpu_helper.c index df162902d6..31df462e4a 100644 --- a/target/tricore/fpu_helper.c +++ b/target/tricore/fpu_helper.c @@ -44

[Qemu-devel] [PULL v3 01/15] contrib: add a basic gitdm config

2018-12-17 Thread Alex Bennée
This is a QEMU specific version of a gitdm config for generating reports on the contributor base of the project. I've added enough group maps and domain aliases to ensure the current top ten is as reflective as it can be. As of this commit running: git log --numstat --since "Last Year" | gitdm -

[Qemu-devel] [PATCH v4 5/8] hw: arm: Convert the RSDP build to the buid_append_foo() API

2018-12-17 Thread Samuel Ortiz
Instead of filling a mapped and packed C structure field in random order and being careful about endianness and sizes, build_rsdp() now uses build_append_int_noprefix() to compose RSDP table. This makes reviewing and maintaining code easier as this is almost matching 1:1 the ACPI spec itself. Sig

Re: [Qemu-devel] [PATCH 3/5] Add migration functions for VFIO devices

2018-12-17 Thread Gonglei (Arei)
Hi, It's great to see this patch series, which is a very important step, although currently only consider GPU mdev devices to support hot migration. However, this is based on the VFIO framework after all, so we expect that we can make this live migration framework more general. For example, t

[Qemu-devel] [PULL v3 04/15] softfloat: add float{32, 64}_is_{de, }normal

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" This paves the way for upcoming work. Reviewed-by: Bastian Koppelmann Reviewed-by: Alex Bennée Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h index 8fd9f9bbae..9eeccd88a5 100644 --- a/include/fpu

Re: [Qemu-devel] [PATCH v6 02/28] machines: replace COMPAT define with a static array

2018-12-17 Thread Igor Mammedov
On Thu, 13 Dec 2018 01:48:24 +0400 Marc-André Lureau wrote: > Signed-off-by: Marc-André Lureau > --- > include/hw/boards.h| 10 +- > hw/arm/virt.c | 45 +-- > hw/i386/pc_piix.c | 563 + > hw/i386/pc_q35.c | 66 -

[Qemu-devel] [PATCH v4 8/8] hw: acpi: Remove AcpiRsdpDescriptor and fix tests

2018-12-17 Thread Samuel Ortiz
The only remaining AcpiRsdpDescriptor users are the ACPI utils for the BIOS table tests. We remove that dependency and can thus remove the structure itself. Signed-off-by: Samuel Ortiz Reviewed-by: Igor Mammedov Reviewed-by: Andrew Jones --- include/hw/acpi/acpi-defs.h | 13 --- tests/

[Qemu-devel] [PATCH v4 3/8] hw: i386: Use correct RSDT length for checksum

2018-12-17 Thread Samuel Ortiz
From: Igor Mammedov AcpiRsdpDescriptor describes revision 2 RSDP table so using sizeof(*rsdp) for checksum calculation isn't correct since we are adding extra 16 bytes. But acpi_data_push() zeroes out table, so just by luck we are summing up exta zeros which still yelds correct checksum. Fix it

[Qemu-devel] [PULL v3 13/15] hardfloat: implement float32/64 fused multiply-add

2018-12-17 Thread Alex Bennée
From: "Emilio G. Cota" Performance results for fp-bench: 1. Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz - before: fma-single: 74.73 MFlops fma-double: 74.54 MFlops - after: fma-single: 203.37 MFlops fma-double: 169.37 MFlops 2. ARM Aarch64 A57 @ 2.4GHz - before: fma-single: 23.24 MFlops fma-double

[Qemu-devel] [PATCH v5 07/18] xen: add event channel interface for XenDevice-s

2018-12-17 Thread Paul Durrant
The legacy PV backend infrastructure provides functions to bind, unbind and send notifications to event channnels. Similar functionality will be required by XenDevice implementations so this patch adds the necessary support. Signed-off-by: Paul Durrant Reviewed-by: Anthony Perard --- Cc: Stefano

[Qemu-devel] [PATCH v5 00/18] Xen PV backend 'qdevification'

2018-12-17 Thread Paul Durrant
This series introduces a new QOM compliant framework for Xen PV backends. This is achieved by first moving the current non-compliant framework aside, before building up a new framework incrementally. This series was prompted by a thread [1] started by Kevin Wolf in response to patches against xen_

[Qemu-devel] [PATCH v5 03/18] xen: introduce 'xen-block', 'xen-disk' and 'xen-cdrom'

2018-12-17 Thread Paul Durrant
This patch adds new XenDevice-s: 'xen-disk' and 'xen-cdrom', both derived from a common 'xen-block' parent type. These will eventually replace the 'xen_disk' (note the underscore rather than hyphen) legacy PV backend but it is illustrative to build up the implementation incrementally, along with th

[Qemu-devel] [PATCH v5 09/18] xen: remove unnecessary code from dataplane/xen-block.c

2018-12-17 Thread Paul Durrant
Not all of the code duplicated from xen_disk.c is required as the basis for the new dataplane implementation so this patch removes extraneous code, along with the legacy #includes and calls to the legacy xen_pv_printf() function. Error messages are changed to be reported using error_report(). NOTE

[Qemu-devel] [PATCH v5 06/18] xen: add grant table interface for XenDevice-s

2018-12-17 Thread Paul Durrant
The legacy PV backend infrastructure provides functions to map, unmap and copy pages granted by frontends. Similar functionality will be required by XenDevice implementations so this patch adds the necessary support. Signed-off-by: Paul Durrant Reviewed-by: Anthony Perard --- Cc: Stefano Stabell

[Qemu-devel] [PATCH v5 08/18] xen: duplicate xen_disk.c as basis of dataplane/xen-block.c

2018-12-17 Thread Paul Durrant
The new xen-block XenDevice implementation requires the same core dataplane as the legacy xen_disk implementation it will eventually replace. This patch therefore copies the legacy xen_disk.c source module into a new dataplane/xen-block.c source module as the basis for the new dataplane and adjusts

[Qemu-devel] [PATCH v5 04/18] xen: create xenstore areas for XenDevice-s

2018-12-17 Thread Paul Durrant
This patch adds a new source module, xen-bus-helper.c, which builds on basic libxenstore primitives to provide functions to create (setting permissions appropriately) and destroy xenstore areas, and functions to 'printf' and 'scanf' nodes therein. The main xen-bus code then uses these primitives [1

[Qemu-devel] [PATCH v5 02/18] xen: introduce new 'XenBus' and 'XenDevice' object hierarchy

2018-12-17 Thread Paul Durrant
This patch adds the basic boilerplate for a 'XenBus' object that will act as a parent to 'XenDevice' PV backends. A new 'XenBridge' object is also added to connect XenBus to the system bus. The XenBus object is instantiated by a new xen_bus_init() function called from the same sites as the legacy

[Qemu-devel] [PATCH v5 01/18] xen: re-name XenDevice to XenLegacyDevice...

2018-12-17 Thread Paul Durrant
...and xen_backend.h to xen-legacy-backend.h Rather than attempting to convert the existing backend infrastructure to be QOM compliant (which would be hard to do in an incremental fashion), subsequent patches will introduce a completely new framework for Xen PV backends. Hence it is necessary to r

[Qemu-devel] [PATCH v5 05/18] xen: add xenstore watcher infrastructure

2018-12-17 Thread Paul Durrant
A Xen PV frontend communicates its state to the PV backend by writing to the 'state' key in the frontend area in xenstore. It is therefore necessary for a XenDevice implementation to be notified whenever the value of this key changes. This patch adds code to do this as follows: - an 'fd handler'

Re: [Qemu-devel] [PATCH for-4.0 v8 3/7] migration: fix the multifd code when receiving less channels

2018-12-17 Thread Fei Li
On 12/13/2018 02:17 PM, Markus Armbruster wrote: Fei Li writes: In our current code, when multifd is used during migration, if there is an error before the destination receives all new channels, the source keeps running, however the destination does not exit but keeps waiting until the sour

Re: [Qemu-devel] [PATCH] hw/sparc64: Create VGA device only if it has really been requested

2018-12-17 Thread BALATON Zoltan
On Sun, 16 Dec 2018, Thomas Huth wrote: The sun4u/sun4v machine currently always creates a VGA device, even if the user started QEMU with "-nodefaults" or "-vga none". That's likely not what the users expect in this case, so add a check whether the VGA adapter has really been requested. Signed-o

[Qemu-devel] [PATCH v5 12/18] xen: remove 'ioreq' struct/varable/field names from dataplane/xen-block.c

2018-12-17 Thread Paul Durrant
This is a purely cosmetic patch that purges the name 'ioreq' from struct, variable and field names. (This name has been problematic for a long time as 'ioreq' is the name used for generic I/O requests coming from Xen). The patch replaces 'struct ioreq' with a new 'XenBlockRequest' type and 'ioreq'

[Qemu-devel] [PATCH v5 11/18] xen: remove 'XenBlkDev' and 'blkdev' names from dataplane/xen-block

2018-12-17 Thread Paul Durrant
This is a purely cosmetic patch that substitutes the old 'struct XenBlkDev' name with 'XenBlockDataPlane' and 'blkdev' field/variable names with 'dataplane', and then does necessary fix-up to adhere to coding style. No functional change. Signed-off-by: Paul Durrant Acked-by: Anthony Perard ---

[Qemu-devel] [PATCH v5 17/18] MAINTAINERS: add myself as a Xen maintainer

2018-12-17 Thread Paul Durrant
I have made many significant contributions to the Xen code in QEMU, particularly the recent patches introducing a new PV device framework. I intend to make further significant contributions, porting other PV back- ends to the new framework with the intent of eventually removing the legacy code. It

[Qemu-devel] [PATCH v5 15/18] xen: add a mechanism to automatically create XenDevice-s...

2018-12-17 Thread Paul Durrant
...that maintains compatibility with existing Xen toolstacks. Xen toolstacks instantiate PV backends by simply writing information into xenstore and expecting a backend implementation to be watching for this. This patch adds a new 'xen-backend' module to allow individual XenDevice implementations

[Qemu-devel] [PATCH v5 13/18] xen: purge 'blk' and 'ioreq' from function names in dataplane/xen-block.c

2018-12-17 Thread Paul Durrant
This is a purely cosmetic patch that purges remaining use of 'blk' and 'ioreq' in local function names, and then makes sure all functions are prefixed with 'xen_block_'. No functional change. Signed-off-by: Paul Durrant Acked-by: Anthony Perard --- Cc: Stefano Stabellini Cc: Stefan Hajnoczi C

[Qemu-devel] [PATCH v5 16/18] xen: automatically create XenBlockDevice-s

2018-12-17 Thread Paul Durrant
This patch adds create and destroy function for XenBlockDevice-s so that they can be created automatically when the Xen toolstack instantiates a new PV backend via xenstore. When the XenBlockDevice is created this way it is also necessary to create a 'drive' which matches the configuration that the

[Qemu-devel] [PATCH v5 18/18] xen: remove the legacy 'xen_disk' backend

2018-12-17 Thread Paul Durrant
This backend has now been replaced by the 'xen-qdisk' XenDevice. Signed-off-by: Paul Durrant Acked-by: Anthony Perard --- Cc: Kevin Wolf Cc: Max Reitz Cc: Stefano Stabellini --- hw/block/Makefile.objs |1 - hw/block/xen_disk.c| 1011 2

[Qemu-devel] [PATCH v5 10/18] xen: add header and build dataplane/xen-block.c

2018-12-17 Thread Paul Durrant
This patch adds the transformations necessary to get dataplane/xen-block.c to build against the new XenBus/XenDevice framework. MAINTAINERS is also updated due to the introduction of dataplane/xen-block.h. NOTE: Existing data structure names are retained for the moment. These will be modifie

[Qemu-devel] [PATCH v5 14/18] xen: add implementations of xen-block connect and disconnect functions...

2018-12-17 Thread Paul Durrant
...and wire in the dataplane. This patch adds the remaining code to make the xen-block XenDevice functional. The parameters that a block frontend expects to find are populated in the backend xenstore area, and the 'ring-ref' and 'event-channel' values specified in the frontend xenstore area are ma

Re: [Qemu-devel] [qemu-web PATCH v2] Add license files for GPLv2+ and CC-BY-SA-4.0

2018-12-17 Thread Daniel P . Berrangé
On Mon, Dec 17, 2018 at 11:57:27AM +0100, Thomas Huth wrote: > On 2018-12-07 17:54, Daniel P. Berrangé wrote: > > The intent is that from this point onwards, content for this repository > > is dual-licensed under the GPLv2+ and CC-BY-SA-4.0 > > Thanks for taking care of this! > > Some remarks / q

Re: [Qemu-devel] [PATCH v4 7/8] hw: acpi: Export and share the ARM RSDP build

2018-12-17 Thread Igor Mammedov
On Mon, 17 Dec 2018 11:48:37 +0100 Samuel Ortiz wrote: > Now that build_rsdp() supports building both legacy and current RSDP > tables, we can move it to a generic folder (hw/acpi) and have the i386 > ACPI code reuse it in order to reduce code duplication. > > Signed-off-by: Samuel Ortiz > Revi

[Qemu-devel] [RFC PATCH v2 0/9] target/ppc: convert VMX instructions to use TCG vector operations

2018-12-17 Thread Mark Cave-Ayland
This patchset is an attempt at trying to improve the VMX (Altivec) instruction performance by making use of the new TCG vector operations where possible. In order to use TCG vector operations, the registers must be accessible from cpu_env whilst currently they are accessed via arrays of static TC

[Qemu-devel] [RFC PATCH v2 4/9] target/ppc: delay writeback of avr{l, h} during lvx instruction

2018-12-17 Thread Mark Cave-Ayland
During review of the previous patch, Richard pointed out an existing bug that the writeback to the avr{l,h} registers should be delayed until after any exceptions have been raised. Perform both 64-bit loads into separate temporaries and then write them into the avr{l,h} registers together to ensur

[Qemu-devel] [RFC PATCH v2 1/9] target/ppc: introduce get_fpr() and set_fpr() helpers for FP register access

2018-12-17 Thread Mark Cave-Ayland
These helpers allow us to move FP register values to/from the specified TCGv_i64 argument in the VSR helpers to be introduced shortly. To prevent FP helpers accessing the cpu_fpr array directly, add extra TCG temporaries as required. Signed-off-by: Mark Cave-Ayland --- target/ppc/translate.c

[Qemu-devel] [RFC PATCH v2 3/9] target/ppc: introduce get_cpu_vsr{l, h}() and set_cpu_vsr{l, h}() helpers for VSR register access

2018-12-17 Thread Mark Cave-Ayland
These helpers allow us to move VSR register values to/from the specified TCGv_i64 argument. To prevent VSX helpers accessing the cpu_vsr array directly, add extra TCG temporaries as required. Signed-off-by: Mark Cave-Ayland --- target/ppc/translate/vsx-impl.inc.c | 782

[Qemu-devel] [RFC PATCH v2 5/9] target/ppc: switch FPR, VMX and VSX helpers to access data directly from cpu_env

2018-12-17 Thread Mark Cave-Ayland
Instead of accessing the FPR, VMX and VSX registers through static arrays of TCGv_i64 globals, remove them and change the helpers to load/store data directly within cpu_env. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson --- target/ppc/translate.c | 59 ++---

[Qemu-devel] [RFC PATCH v2 2/9] target/ppc: introduce get_avr64() and set_avr64() helpers for VMX register access

2018-12-17 Thread Mark Cave-Ayland
These helpers allow us to move AVR register values to/from the specified TCGv_i64 argument. To prevent VMX helpers accessing the cpu_avr{l,h} arrays directly, add extra TCG temporaries as required. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson --- target/ppc/translate.c

[Qemu-devel] [RFC PATCH v2 7/9] target/ppc: move FP and VMX registers into aligned vsr register array

2018-12-17 Thread Mark Cave-Ayland
The VSX register array is a block of 64 128-bit registers where the first 32 registers consist of the existing 64-bit FP registers extended to 128-bit using new VSR registers, and the last 32 registers are the VMX 128-bit registers as show below: 64-bit 64-bit +--

[Qemu-devel] [RFC PATCH v2 9/9] target/ppc: convert vaddu[b, h, w, d] and vsubu[b, h, w, d] over to use vector operations

2018-12-17 Thread Mark Cave-Ayland
Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson --- target/ppc/helper.h | 8 target/ppc/int_helper.c | 7 --- target/ppc/translate/vmx-impl.inc.c | 16 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/targe

[Qemu-devel] [RFC PATCH v2 6/9] target/ppc: merge ppc_vsr_t and ppc_avr_t union types

2018-12-17 Thread Mark Cave-Ayland
Since the VSX registers are actually a superset of the VMX registers then they can be represented by the same type. Merge ppc_avr_t into ppc_vsr_t and change ppc_avr_t to be a simple typedef alias. Note that due to a difference in the naming of the float32 member between ppc_avr_t and ppc_vsr_t, r

  1   2   3   4   5   >