[Qemu-devel] [PATCH] libvhost-user: introduce and use vu_has_protocol_feature()

2019-09-03 Thread Johannes Berg
From: Johannes Berg This simplifies the various has_feature() checks, we already have vu_has_feature() but it checks features, not protocol features. Signed-off-by: Johannes Berg --- contrib/libvhost-user/libvhost-user.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions

[Qemu-devel] [PULL 5/5] multifd: Use number of channels as listen backlog

2019-09-03 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- migration/socket.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/migration/socket.c b/migration/socket.c index e63f5e1612..97c9efde59 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -178,10 +

[Qemu-devel] [PULL 2/5] socket: Add num connections to qio_channel_socket_sync()

2019-09-03 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- include/io/channel-socket.h| 2 ++ io/channel-socket.c| 7 --- io/net-listener.c | 2 +- io/trace-events| 2 +- scsi/qemu-pr-helper.c | 3 ++- tests/test-char.c

[Qemu-devel] [PULL 4/5] socket: Add num connections to qio_net_listener_open_sync()

2019-09-03 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- blockdev-nbd.c| 2 +- chardev/char-socket.c | 2 +- include/io/net-listener.h | 2 ++ io/net-listener.c | 3 ++- migration/socket.c| 2 +- qemu-nbd.c| 2 +- ui/vnc.c

[Qemu-devel] [PULL 3/5] socket: Add num connections to qio_channel_socket_async()

2019-09-03 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- include/io/channel-socket.h| 2 ++ io/channel-socket.c| 30 +++--- io/trace-events| 2 +- tests/test-io-channel-socket.c | 2 +- 4 files changed, 27 insertions(+), 9 deleti

[Qemu-devel] [PULL 1/5] socket: Add backlog parameter to socket_listen

2019-09-03 Thread Juan Quintela
Current parameter was always one. We continue with that value for now in all callers. Signed-off-by: Juan Quintela Reviewed-by: Daniel P. Berrangé --- Moved trace to socket_listen --- include/qemu/sockets.h| 2 +- io/channel-socket.c | 2 +- qga/channel-posix.c | 2 +- tests

[Qemu-devel] [PULL 0/5] Fail patches

2019-09-03 Thread Juan Quintela
The following changes since commit 3483534ec314f6057e66966bfceaa9df02c28fbf: Merge remote-tracking branch 'remotes/cleber/tags/python-next-pull-request' into staging (2019-09-03 16:48:37 +0100) are available in the Git repository at: https://github.com/juanquintela/qemu.git tags/fail-pull-r

Re: [Qemu-devel] [PATCH] numa: Introduce MachineClass::auto_enable_numa for implicit NUMA node

2019-09-03 Thread Tao Xu
On 9/4/2019 1:52 AM, Eduardo Habkost wrote: On Mon, Aug 05, 2019 at 03:13:02PM +0800, Tao Xu wrote: Add MachineClass::auto_enable_numa field. When it is true, a NUMA node is expected to be created implicitly. Acked-by: David Gibson Suggested-by: Igor Mammedov Suggested-by: Eduardo Habkost Si

Re: [Qemu-devel] [PATCH v4 3/3] qcow2: add zstd cluster compression

2019-09-03 Thread Denis Plotnikov
Kevin, thanks for commenting. I'll resend the series shortly. Denis On 03.09.2019 17:12, Kevin Wolf wrote: > Am 28.08.2019 um 14:56 hat Denis Plotnikov geschrieben: >> zstd significantly reduces cluster compression time. >> It provides better compression performance maintaining >> the same level

Re: [Qemu-devel] [PATCH] memory: Set notdirty_mem_ops validator

2019-09-03 Thread Tony Nguyen
On Tue, Sep 03, 2019 at 05:50:56PM +0100, Peter Maydell wrote: > Do you have a backtrace of QEMU from the segfault? I'm having trouble > thinking of what the situation is when we'd try to invoke the > read handler on io_mem_notdirty... Using tcg-next https://github.com/rth7680/qemu/commit/c25c283

[Qemu-devel] [PATCH] vnc: fix websocket field in events

2019-09-03 Thread Gerd Hoffmann
Just need to fill VncClientInfo.websocket in vnc_client_cache_addr(). Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1748175 Signed-off-by: Gerd Hoffmann --- ui/vnc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/vnc.c b/ui/vnc.c index 649ce93cd24c..e318bfc1ed2f 100644 --- a/ui/vn

Re: [Qemu-devel] [PATCH for-4.2 v10 08/15] virtio-iommu: Implement map/unmap

2019-09-03 Thread Tian, Kevin
> From: Peter Xu [mailto:pet...@redhat.com] > Sent: Wednesday, September 4, 2019 1:37 PM > > On Wed, Sep 04, 2019 at 04:23:50AM +, Tian, Kevin wrote: > > > From: Peter Xu [mailto:pet...@redhat.com] > > > Sent: Wednesday, September 4, 2019 9:44 AM > > > > > > On Tue, Sep 03, 2019 at 01:37:11PM

Re: [Qemu-devel] [PATCH for-4.2 v10 08/15] virtio-iommu: Implement map/unmap

2019-09-03 Thread Peter Xu
On Wed, Sep 04, 2019 at 04:23:50AM +, Tian, Kevin wrote: > > From: Peter Xu [mailto:pet...@redhat.com] > > Sent: Wednesday, September 4, 2019 9:44 AM > > > > On Tue, Sep 03, 2019 at 01:37:11PM +0200, Auger Eric wrote: > > > Hi Peter, > > > > > > On 8/19/19 10:11 AM, Peter Xu wrote: > > > > On

[Qemu-devel] [PATCH] Replace '-machine accel=xyz' with '-accel xyz'

2019-09-03 Thread Thomas Huth
We've got a separate option to configure the accelerator nowadays, which is shorter to type and the preferred way of specifying an accelerator. Use it in the source and examples to show that it is the favored option. (However, do not touch the places yet which also specify other machine options or

Re: [Qemu-devel] [PATCH] linux-user: Support gdb 'qOffsets' query for ELF

2019-09-03 Thread Laurent Vivier
Le 03/09/2019 à 21:19, Josh Kunz a écrit : > The `Data` and `Code` flags in `qOffsets` are actually section offsets > rather than segment offsets. GDB relocates the symbols in those sections > relative to their location in the binary. So we have to use `load_bias`. > > See here for a more detailed

Re: [Qemu-devel] [PATCH] Fedora images: use URLs from stable "archives.fedoraproject.org"

2019-09-03 Thread Yash Mankad
On 9/3/19 8:52 PM, Cleber Rosa wrote: > The LinuxInitrd.test_with_2gib_file_should_work_with_linux_v4_16 test, > from tests/acceptance/linux_initrd.py, is currently failing to fetch > the "vmlinuz" file. The reason for the failure is that the Fedora > project retires older versions from the "dl

Re: [Qemu-devel] [PATCH v1 2/2] hw/pvrdma: add live migration support

2019-09-03 Thread Yuval Shaia
On Wed, Sep 04, 2019 at 03:03:20AM +0530, Sukrit Bhatnagar wrote: > On Thu, 29 Aug 2019 at 18:23, Yuval Shaia wrote: > > > > On Wed, Aug 28, 2019 at 07:53:28PM +0530, Sukrit Bhatnagar wrote: > > > vmstate_pvrdma describes the PCI and MSIX states as well as the dma > > > address for dsr and the gid

Re: [Qemu-devel] [PATCH for-4.2 v10 08/15] virtio-iommu: Implement map/unmap

2019-09-03 Thread Tian, Kevin
> From: Peter Xu [mailto:pet...@redhat.com] > Sent: Wednesday, September 4, 2019 9:44 AM > > On Tue, Sep 03, 2019 at 01:37:11PM +0200, Auger Eric wrote: > > Hi Peter, > > > > On 8/19/19 10:11 AM, Peter Xu wrote: > > > On Tue, Jul 30, 2019 at 07:21:30PM +0200, Eric Auger wrote: > > > > > > [...] >

Re: [Qemu-devel] [PATCH v2 2/3] tests/libqtest: Allow setting expected exit status

2019-09-03 Thread Thomas Huth
On 03/09/2019 18.22, Yury Kotov wrote: > Add qtest_set_expected_status function to set expected exit status of > child process. By default expected exit status is 0. > > Signed-off-by: Yury Kotov > --- > tests/libqtest.c | 36 +--- > tests/libqtest.h | 9

Re: [Qemu-devel] [Qemu-riscv] [PATCH] riscv: sifive_e: Correct various SoC IP block sizes

2019-09-03 Thread Bin Meng
Palmer, On Wed, Aug 14, 2019 at 5:34 PM Bin Meng wrote: > > Hi Palmer, > > On Wed, Aug 7, 2019 at 10:53 AM Bin Meng wrote: > > > > On Wed, Aug 7, 2019 at 5:06 AM Philippe Mathieu-Daudé > > wrote: > > > > > > On 8/5/19 8:43 AM, Bin Meng wrote: > > > > On Mon, Aug 5, 2019 at 2:14 PM Chih-Min Cha

Re: [Qemu-devel] QEMU as ISS (Instruction Set Simulator)

2019-09-03 Thread Libo Zhou
Hi Aleksandar, I have spent some time looking at your MXU ASE patch. It's super helpful. I need to do exactly the same thing as you did. Now I just need a way to observe the memory and register file contents to debug my instruction set simulator. I played with the "-d" switch to log a bunch o

Re: [Qemu-devel] [PATCH] memory: Set notdirty_mem_ops validator

2019-09-03 Thread Peter Xu
On Tue, Sep 03, 2019 at 05:50:56PM +0100, Peter Maydell wrote: > On Tue, 3 Sep 2019 at 17:47, Tony Nguyen wrote: > > > > On Tue, Sep 03, 2019 at 11:25:28AM +0100, Peter Maydell wrote: > > > On Mon, 2 Sep 2019 at 02:36, Tony Nguyen wrote: > > > > > > > > Existing read rejecting validator was mista

Re: [Qemu-devel] [Qemu-block] [PATCH] cutils: Move size_to_str() from "qemu-common.h" to "qemu/cutils.h"

2019-09-03 Thread Peter Xu
On Tue, Sep 03, 2019 at 02:57:31PM -0400, John Snow wrote: [...] > Seems proper. It must be an oversight to begin with that we declared it > in qemu-common but defined it in cutils. Porbably true.. > > Reviewed-by: John Snow Reviewed-by: Peter Xu Thanks, -- Peter Xu

[Qemu-devel] [Bug 1842530] [NEW] ich6 and ich9 sound card has noisy(murmur)

2019-09-03 Thread cpw
Public bug reported: [root@localhost1 qemu]# lscpu Architecture: x86_64 CPU op-mode(s):32-bit, 64-bit Byte Order:Little Endian CPU(s):6 On-line CPU(s) list: 0-5 Thread(s) per core:1 Core(s) per socket:6 Socket(s): 1 NUMA node(s):

Re: [Qemu-devel] [PATCH v2] libvhost-user: fix SLAVE_SEND_FD handling

2019-09-03 Thread Tiwei Bie
On Tue, Sep 03, 2019 at 11:04:22PM +0300, Johannes Berg wrote: > From: Johannes Berg > > It doesn't look like this could possibly work properly since > VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD is defined to 10, but the > dev->protocol_features has a bitmap. I suppose the peer this > was tested with al

Re: [Qemu-devel] [PATCH for-4.2 v10 09/15] virtio-iommu: Implement translate

2019-09-03 Thread Peter Xu
On Tue, Sep 03, 2019 at 01:45:22PM +0200, Auger Eric wrote: > Hi Peter, > > On 8/19/19 10:24 AM, Peter Xu wrote: > > On Tue, Jul 30, 2019 at 07:21:31PM +0200, Eric Auger wrote: > >> @@ -464,19 +464,75 @@ static IOMMUTLBEntry > >> virtio_iommu_translate(IOMMUMemoryRegion *mr, hwaddr addr, > >>

Re: [Qemu-devel] [PATCH for-4.2 v10 08/15] virtio-iommu: Implement map/unmap

2019-09-03 Thread Peter Xu
On Tue, Sep 03, 2019 at 01:37:11PM +0200, Auger Eric wrote: > Hi Peter, > > On 8/19/19 10:11 AM, Peter Xu wrote: > > On Tue, Jul 30, 2019 at 07:21:30PM +0200, Eric Auger wrote: > > > > [...] > > > >> +mapping = g_tree_lookup(domain->mappings, (gpointer)(&interval)); > >> + > >> +while (m

[Qemu-devel] [PATCH] Fedora images: use URLs from stable "archives.fedoraproject.org"

2019-09-03 Thread Cleber Rosa
The LinuxInitrd.test_with_2gib_file_should_work_with_linux_v4_16 test, from tests/acceptance/linux_initrd.py, is currently failing to fetch the "vmlinuz" file. The reason for the failure is that the Fedora project retires older versions from the "dl.fedoraproject.org" URL, and keeps them in "archi

Re: [Qemu-devel] [RFC PATCH v2 01/35] multi-process: memory: alloc RAM from file at offset

2019-09-03 Thread Jag Raman
On 6/18/2019 1:12 AM, Gerd Hoffmann wrote: On Mon, Jun 17, 2019 at 11:14:59AM -0700, elena.ufimts...@oracle.com wrote: From: Jagannathan Raman Allow RAM MemoryRegion to be created from an offset in a file, instead of allocating at offset of 0 by default. This is needed to synchronize RAM be

Re: [Qemu-devel] [PATCH v7 15/30] riscv: hart: Add a "hartid-base" property to RISC-V hart array

2019-09-03 Thread Alistair Francis
On Sat, Aug 31, 2019 at 7:58 PM Bin Meng wrote: > > At present each hart's hartid in a RISC-V hart array is assigned > the same value of its index in the hart array. But for a system > that has multiple hart arrays, this is not the case any more. > > Add a new "hartid-base" property so that hartid

Re: [Qemu-devel] [PATCH v2 3/5] hw/arm: Restrict pre-ARMv7 cpus to TCG

2019-09-03 Thread Alistair Francis
On Tue, Sep 3, 2019 at 4:48 AM Philippe Mathieu-Daudé wrote: > > A KVM-only build won't be able to run pre-ARMv7 cpus, disable them. > > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > v2: - "depends on !KVM" -> "depends on TCG" (rth) > - do not modify

Re: [Qemu-devel] Cryptic errors from PIP install if missing openssl-devel

2019-09-03 Thread Cleber Rosa
On Tue, Sep 03, 2019 at 02:27:58PM -0300, Eduardo Habkost wrote: > This would stop working as soon as a file named 'p@ssw0rD' gets > created. Can the API be more explicit somehow? > > Is there anything that prevents us from using keyword arguments? > e.g.: > > Session(..., username='root', pas

Re: [Qemu-devel] [PATCH 0/2] tests: cpu-plug-test: fix x86 device_add cpu-foo test cases

2019-09-03 Thread Eduardo Habkost
On Fri, Aug 30, 2019 at 07:07:21AM -0400, Igor Mammedov wrote: > Fixes bc1fb850a3 (vl.c deprecate incorrect CPUs topology) that introduced > regression. Queued on machine-next. Thanks! -- Eduardo

Re: [Qemu-devel] [PATCH v1 2/2] hw/pvrdma: add live migration support

2019-09-03 Thread Sukrit Bhatnagar
On Thu, 29 Aug 2019 at 18:23, Yuval Shaia wrote: > > On Wed, Aug 28, 2019 at 07:53:28PM +0530, Sukrit Bhatnagar wrote: > > vmstate_pvrdma describes the PCI and MSIX states as well as the dma > > address for dsr and the gid table of device. > > vmstate_pvrdma_gids describes each gid in the gid tabl

[Qemu-devel] [PULL v2 10/13] hostmem-file: fix pmem file size check

2019-09-03 Thread Eduardo Habkost
From: Stefan Hajnoczi Commit 314aec4a6e06844937f1677f6cba21981005f389 ("hostmem-file: reject invalid pmem file sizes") added a file size check that verifies the hostmem object's size parameter against the actual devdax pmem file. This is useful because getting the size wrong results in confusing

[Qemu-devel] [PULL v2 08/13] pc: Don't make die-id mandatory unless necessary

2019-09-03 Thread Eduardo Habkost
We have this issue reported when using libvirt to hotplug CPUs: https://bugzilla.redhat.com/show_bug.cgi?id=1741451 Basically, libvirt is not copying die-id from query-hotpluggable-cpus, but die-id is now mandatory. We could blame libvirt and say it is not following the documented interface, beca

[Qemu-devel] [PULL v2 12/13] x86: do not advertise die-id in query-hotpluggbale-cpus if '-smp dies' is not set

2019-09-03 Thread Eduardo Habkost
From: Igor Mammedov Commit 176d2cda0 (i386/cpu: Consolidate die-id validity in smp context) added new 'die-id' topology property to CPUs and exposed it via QMP command query-hotpluggable-cpus, which broke -device/device_add cpu-foo for existing users that do not support die-id/dies yet. That's wo

[Qemu-devel] [PULL v2 11/13] i386/vmmouse: Properly reset state

2019-09-03 Thread Eduardo Habkost
From: Jan Kiszka nb_queue was not zeroed so that we no longer delivered events if a previous guest left the device in an overflow state. The state of absolute does not matter as the next vmmouse_update_handler call will align it again. Signed-off-by: Jan Kiszka Message-Id: Reviewed-by: Eduard

[Qemu-devel] [PULL v2 03/13] numa: move numa global variable nb_numa_nodes into MachineState

2019-09-03 Thread Eduardo Habkost
From: Tao Xu Add struct NumaState in MachineState and move existing numa global nb_numa_nodes(renamed as "num_nodes") into NumaState. And add variable numa_support into MachineClass to decide which submachines support NUMA. Reviewed-by: Igor Mammedov Suggested-by: Igor Mammedov Suggested-by: E

[Qemu-devel] [PULL v2 09/13] qapi: report the default CPU type for each machine

2019-09-03 Thread Eduardo Habkost
From: Daniel P. Berrangé When user doesn't request any explicit CPU model with libvirt or QEMU, a machine type specific CPU model is picked. Currently there is no way to determine what this QEMU built-in default is, so libvirt cannot report this back to the user in the XML config. This extends t

[Qemu-devel] [PULL v2 05/13] numa: move numa global variable numa_info into MachineState

2019-09-03 Thread Eduardo Habkost
From: Tao Xu Move existing numa global numa_info (renamed as "nodes") into NumaState. Reviewed-by: Igor Mammedov Suggested-by: Igor Mammedov Suggested-by: Eduardo Habkost Signed-off-by: Tao Xu Message-Id: <20190809065731.9097-5-tao3...@intel.com> Signed-off-by: Eduardo Habkost --- include/

[Qemu-devel] [PULL v2 13/13] migration: Do not re-read the clock on pre_save in case of paused guest

2019-09-03 Thread Eduardo Habkost
From: "Maxiwell S. Garcia" The clock move makes the guest knows about the paused time between the 'stop' and 'migrate' commands. This is an issue in an already-paused VM because some side effects, like process stalls, could happen after migration. So, this patch checks the runstate of guest in t

[Qemu-devel] [PULL v2 07/13] pc: Improve error message when die-id is omitted

2019-09-03 Thread Eduardo Habkost
The error message when die-id is omitted doesn't make sense: $ qemu-system-x86_64 -smp 1,sockets=6,maxcpus=6 \ -device qemu64-x86_64-cpu,socket-id=1,core-id=0,thread-id=0 qemu-system-x86_64: -device qemu64-x86_64-cpu,socket-id=1,core-id=0,thread-id=0: \ Invalid CPU die-id: 4294967295

[Qemu-devel] [PULL v2 00/13] Machine + x86 queue, 2019-09-03

2019-09-03 Thread Eduardo Habkost
Changes v1 -> v2: * (v1 was incorrectly tagged "v6" on the subject line) * Removed patch that caused spurious warnings ("numa: Introduce MachineClass::auto_enable_numa for implicit NUMA node") * New patches: * Keep query-hotpluggable-cpus output compatible with older QEMU if '-smp dies' is

[Qemu-devel] [PULL v2 02/13] hw/arm: simplify arm_load_dtb

2019-09-03 Thread Eduardo Habkost
From: Tao Xu In struct arm_boot_info, kernel_filename, initrd_filename and kernel_cmdline are copied from from MachineState. This patch add MachineState as a parameter into arm_load_dtb() and move the copy chunk of kernel_filename, initrd_filename and kernel_cmdline into arm_load_kernel(). Revie

[Qemu-devel] [PULL v2 06/13] pc: Fix error message on die-id validation

2019-09-03 Thread Eduardo Habkost
The error message for die-id range validation is incorrect. Example: $ qemu-system-x86_64 -smp 1,sockets=6,maxcpus=6 \ -device qemu64-x86_64-cpu,socket-id=1,die-id=1,core-id=0,thread-id=0 qemu-system-x86_64: -device qemu64-x86_64-cpu,socket-id=1,die-id=1,core-id=0,thread-id=0: \ Inva

[Qemu-devel] [RFC v3 PATCH 10/45] multi-process: setup a machine object for remote device process

2019-09-03 Thread Jagannathan Raman
remote-machine object sets up various subsystems of the remote device process. Instantiate PCI host bridge object and initialize RAM, IO & PCI memory regions. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- exec.c| 3 +

[Qemu-devel] [PULL v2 01/13] includes: remove stale [smp|max]_cpus externs

2019-09-03 Thread Eduardo Habkost
From: Alex Bennée Commit a5e0b3311 removed these in favour of querying machine properties. Remove the extern declarations as well. Signed-off-by: Alex Bennée Cc: Like Xu Message-Id: <20190711130546.18578-1-alex.ben...@linaro.org> Reviewed-by: Richard Henderson Reviewed-by: Like Xu Fixes: a5e

[Qemu-devel] [RFC v3 PATCH 43/45] multi-process: prevent duplicate memory initialization in remote

2019-09-03 Thread Jagannathan Raman
When multiple controllers are configured in a remote process, it's better for the memory to be managed by only one of the proxy objects for that process, in order to conserve file descriptors. Added "mem_int" flag for this purpose. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Sig

[Qemu-devel] [PULL v2 04/13] numa: move numa global variable have_numa_distance into MachineState

2019-09-03 Thread Eduardo Habkost
From: Tao Xu Move existing numa global have_numa_distance into NumaState. Reviewed-by: Igor Mammedov Reviewed-by: Liu Jingqi Suggested-by: Igor Mammedov Suggested-by: Eduardo Habkost Signed-off-by: Tao Xu Message-Id: <20190809065731.9097-4-tao3...@intel.com> Signed-off-by: Eduardo Habkost

[Qemu-devel] [RFC v3 PATCH 41/45] multi-process/mon: trim HMP command set for remote storage processes

2019-09-03 Thread Jagannathan Raman
Trim down the list of HMP commands available for storage class of remote processes. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- New patch in v3 Makefile.objs | 2 + Makefile.target| 14 +- hmp-scsi-commands-inf

Re: [Qemu-devel] [Libguestfs] [PATCH 0/1] NBD protocol change to add fast zero support

2019-09-03 Thread Eric Blake
On 8/23/19 9:34 AM, Eric Blake wrote: > See the cross-post cover letter for details: > https://www.redhat.com/archives/libguestfs/2019-August/msg00322.html > > Eric Blake (1): > protocol: Add NBD_CMD_FLAG_FAST_ZERO > > doc/proto.md | 50 +- > 1 f

[Qemu-devel] [RFC v3 PATCH 42/45] multi-process/mon: Initialize QMP module for remote processes

2019-09-03 Thread Jagannathan Raman
Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- New patch in v3 remote/remote-main.c | 11 +++ remote/remote-opts.c | 10 ++ 2 files changed, 21 insertions(+) diff --git a/remote/remote-main.c b/remote/remote-main.c index a6ff

[Qemu-devel] [RFC v3 PATCH 40/45] multi-process/mon: Refactor monitor/chardev functions out of vl.c

2019-09-03 Thread Jagannathan Raman
Some of the initialization helper functions w.r.t monitor & chardev in vl.c are also used by the remote process. Therefore, these functions are refactored into a shared file that both QEMU & remote process could use. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jag

[Qemu-devel] [RFC v3 PATCH 45/45] multi-process: add configure and usage information

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- Changes in v3: - since the changes were made to use existing device/drive options, the document was modified to reflect this. --- docs/qemu-multiprocess.txt | 86 ++

[Qemu-devel] [RFC v3 PATCH 39/45] multi-process/mon: build system for QMP module in remote process

2019-09-03 Thread Jagannathan Raman
Makefile changes necessary to compile QMP module for the remote process Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- New patch in v3 Makefile.objs | 7 +++ Makefile.target | 20 +++- hw/core/Makefile.objs

[Qemu-devel] [RFC v3 PATCH 36/45] multi-process: Use separate MMIO communication channel

2019-09-03 Thread Jagannathan Raman
Using a separate communication channel for MMIO helps with improving Performance Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 hw/proxy/qemu-proxy.c | 38 ++ include/hw/proxy/qemu-

[Qemu-devel] [RFC v3 PATCH 44/45] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-09-03 Thread Jagannathan Raman
From: John G Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- v2 -> v3: - Updated with latest design of this project docs/devel/qemu-multiprocess.txt | 627 +++ 1 file changed, 627 insertions(+)

[Qemu-devel] [RFC v3 PATCH 31/45] multi-process: add remote options parser

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 vl.c | 117 +++ 1 file changed, 117 insertions(+) diff --git a/vl.c b/vl.c index dc2558c..

[Qemu-devel] [RFC v3 PATCH 38/45] multi-process/mon: stub functions to enable QMP module for remote process

2019-09-03 Thread Jagannathan Raman
QMP module doesn't need some functions to run independently on the remote processes. However, these functions are necessary for compilation. Therefore, these functions are stub'ed out. The stub functions raise an assert if QEMU is built in debug mode (--enable-debug). Signed-off-by: Elena Ufimtsev

[Qemu-devel] [RFC v3 PATCH 28/45] multi-process: Introduce build flags to separate remote process code

2019-09-03 Thread Jagannathan Raman
Introduce SCSI_PROCESS & REMOTE_PROCESS build flags to separate code that applies only to remote processes. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- New patch in v3 Makefile.target | 4 rules.mak | 2 +- 2 files changed, 5 i

[Qemu-devel] [RFC v3 PATCH 32/45] multi-process: add parse_cmdline in remote process

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 remote/Makefile.objs | 1 + remote/remote-main.c | 11 + remote/remote-opts.c | 113 +++ remote/remo

[Qemu-devel] [RFC v3 PATCH 01/45] multi-process: memory: alloc RAM from file at offset

2019-09-03 Thread Jagannathan Raman
Allow RAM MemoryRegion to be created from an offset in a file, instead of allocating at offset of 0 by default. This is needed to synchronize RAM between QEMU & remote process. This will be needed for the following patches. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-of

[Qemu-devel] [RFC v3 PATCH 37/45] multi-process: perform device reset in the remote process

2019-09-03 Thread Jagannathan Raman
Perform device reset in the remote process when QEMU performs device reset. This is required to reset the internal state (like registers, etc...) of emulated devices Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- New patch in v3 hw/proxy/pro

[Qemu-devel] [RFC v3 PATCH 29/45] multi-process: refractor vl.c code to re-use in remote

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 Makefile.objs| 2 + remote/Makefile.objs | 1 + vl-parse.c | 157 +++ vl.c

[Qemu-devel] [RFC v3 PATCH 03/45] multi-process: add a command line option for debug file

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Can be used with -d rdebug command options when starting qemu. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- include/qemu/log.h | 1 + util/log.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/q

[Qemu-devel] [RFC v3 PATCH 19/45] multi-process: Add LSI device proxy object

2019-09-03 Thread Jagannathan Raman
Adds proxy-lsi53c895a object, as a derivative of the pci-proxy-dev object. This object is the proxy for the lsi53c895a object instantiated by the remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw/proxy/Makefile.objs

[Qemu-devel] [RFC v3 PATCH 33/45] multi-process: add support for multiple devices

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Add suport for multiple devices in one remote process. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 remote/remote-main.c | 140 ++- 1 file changed, 115

[Qemu-devel] [RFC v3 PATCH 35/45] multi-process: handle heartbeat messages in remote process

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva and reply back to proxy object. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/remote/remote-main.c b/remote/remote-main.c index 5552712..f0

[Qemu-devel] [RFC v3 PATCH 18/45] multi-process: support dev id in config read/write

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 hw/proxy/qemu-proxy.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/hw/proxy/qemu-proxy.c b/hw/proxy/qemu-proxy.c in

[Qemu-devel] [RFC v3 PATCH 30/45] multi-process: add remote option

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 qemu-options.hx | 21 + 1 file changed, 21 insertions(+) diff --git a/qemu-options.hx b/qemu-options.hx index 9621e93..e2dca3d 100644

[Qemu-devel] [RFC v3 PATCH 26/45] multi-process: remote: add create_done condition

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Do not allow BAR,MMIO handlers and irq setup to run before the configuration of the devices completes. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 29 - 1 file chang

[Qemu-devel] [RFC v3 PATCH 34/45] multi-process: add heartbeat timer and signal handler

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Add a signal handler for launched remote processes and set up the heartbeat timer for remote processes. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 101 ++

[Qemu-devel] [RFC v3 PATCH 23/45] multi-process: add qdev_proxy_add to create proxy devices

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva This is handled while parsing the command line options. The parsed options are being sent to remote process as the messgaes containing JSON strings. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- v1 -> v2: - parse so

[Qemu-devel] [RFC v3 PATCH 16/45] multi-process: PCI BAR read/write handling for proxy & remote endpoints

2019-09-03 Thread Jagannathan Raman
Proxy device object implements handler for PCI BAR writes and reads. The handler uses BAR_WRITE/BAR_READ message to communicate to the remote process with the BAR address and value to be written/read. The remote process implements handler for BAR_WRITE/BAR_READ message. Signed-off-by: Jagannathan

[Qemu-devel] [RFC v3 PATCH 24/45] multi-process: remote: add setup_devices and setup_drive msg processing

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Receive by remote side the configuration messages and build the device object from JSON device descriptions. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- v1 -> v2: - for new command line suboptions with libvirtd su

[Qemu-devel] [RFC v3 PATCH 27/45] multi-process: add processing of remote drive and device command line

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Add processing of command line options drive and device. After remote devices are created along with their proxies, signal the proxies to finish the configuration steps. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- v1

[Qemu-devel] [RFC v3 PATCH 12/45] multi-process: remote process initialization

2019-09-03 Thread Jagannathan Raman
Adds the handler to process message from QEMU, Initialize remote process main loop, handles SYNC_SYSMEM message by updating its "system_memory" container using shared file descriptors received from QEMU. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Rama

[Qemu-devel] [RFC v3 PATCH 09/45] multi-process: setup PCI host bridge for remote device

2019-09-03 Thread Jagannathan Raman
PCI host bridge is setup for the remote device process. It is implemented using remote-pcihost object. It is an extension of the PCI host bridge setup by QEMU. Remote-pcihost configures a PCI bus which could be used by the remote PCI device to latch on to. Signed-off-by: Jagannathan Raman Signed

[Qemu-devel] [RFC v3 PATCH 20/45] multi-process: Synchronize remote memory

2019-09-03 Thread Jagannathan Raman
Add memory-listener object which is used to keep the view of the RAM in sync between QEMU and remote process. A MemoryListener is registered for system-memory AddressSpace. The listener sends SYNC_SYSMEM message to the remote process when memory listener commits the changes to memory, the remote pr

[Qemu-devel] [RFC v3 PATCH 25/45] multi-process: remote: use fd for socket from parent process

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/remote/remote-main.c b/remote/remote-main.c index 3e92a83..e284d5f 100644

[Qemu-devel] [RFC v3 PATCH 17/45] multi-process: modify BARs read/write to support dev_id

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Reviewed-by: Liam Merwick --- New patch in v3 hw/proxy/qemu-proxy.c | 22 +++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/hw/proxy/qemu-

[Qemu-devel] [RFC v3 PATCH 11/45] multi-process: setup memory manager for remote device

2019-09-03 Thread Jagannathan Raman
sync_sysmem_msg_t message format is defined. It is used to send file descriptors of the RAM regions to remote device. RAM on the remote device is configured with a set of file descriptors. Old RAM regions are deleted and new regions, each with an fd, is added to the RAM. Signed-off-by: Jagannathan

[Qemu-devel] [RFC v3 PATCH 22/45] multi-process: configure remote side devices

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Add functions to configure remote devices. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 43 ++- include/hw/proxy/qemu-proxy.h | 2 ++ include/io

[Qemu-devel] [RFC v3 PATCH 21/45] multi-process: create IOHUB object to handle irq

2019-09-03 Thread Jagannathan Raman
IOHUB object is added to manage PCI IRQs. It uses KVM_IRQFD ioctl to create irqfd to injecting PCI interrupts to the guest. IOHUB object forwards the irqfd to the remote process. Remote process uses this fd to directly send interrupts to the guest, bypassing QEMU. Signed-off-by: John G Johnson Si

[Qemu-devel] [RFC v3 PATCH 14/45] mutli-process: build remote command line args

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 hw/proxy/qemu-proxy.c | 80 +-- include/hw/proxy/qemu-proxy.h | 2 +- 2 files changed, 62 insertions(+), 2

[Qemu-devel] [RFC v3 PATCH 06/45] multi-process: build system for remote device process

2019-09-03 Thread Jagannathan Raman
Modify Makefile to support the building of the remote device process. Implements main() function of remote device process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- Makefile| 2 ++ Makefile.objs | 22 +++

[Qemu-devel] [RFC v3 PATCH 07/45] multi-process: define proxy-link object

2019-09-03 Thread Jagannathan Raman
Defines proxy-link object which forms the communication link between QEMU & emulation program. Adds functions to configure members of proxy-link object instance. Adds functions to send and receive messages over the communication channel. Adds GMainLoop to handle events received on the communication

[Qemu-devel] [RFC v3 PATCH 00/45] Initial support of multi-process qemu

2019-09-03 Thread Jagannathan Raman
Started with the presentation in October 2017 made by Marc-Andre (Red Hat) and Konrad Wilk (Oracle) [1], and continued by Jag's BoF at KVM Forum 2018, the multi-process project is now a prototype and presented in this patchset. This first series enables the emulation of lsi53c895a in a separate pr

[Qemu-devel] [RFC v3 PATCH 15/45] multi-process: add support of device id to communication channel

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- New patch in v3 include/io/proxy-link.h | 3 +++ io/proxy-link.c | 37 - 2 files changed, 35 insertions(+), 5 deletions(-) di

[Qemu-devel] [RFC v3 PATCH 13/45] multi-process: introduce proxy object

2019-09-03 Thread Jagannathan Raman
From: Elena Ufimtseva Defines a PCI Device proxy object as a parent of TYPE_PCI_DEVICE. PCI Proxy Object is responsible for registering PCI BARs,i MemoryRegionOps to handle access to the BARs and forwarding those to the remote device. PCI Proxy object intercepts config space reads and writes. In

[Qemu-devel] [RFC v3 PATCH 02/45] multi-process: util: Add qemu_thread_cancel() to cancel running thread

2019-09-03 Thread Jagannathan Raman
qemu_thread_cancel() added to destroy a given running thread. This will be needed in the following patches. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- include/qemu/thread.h| 1 + util/qemu-thread-posix.c | 10 ++ 2 files chang

[Qemu-devel] [RFC v3 PATCH 08/45] multi-process: add functions to synchronize proxy and remote endpoints

2019-09-03 Thread Jagannathan Raman
In some cases, for example MMIO read, QEMU has to wait for the remote to complete a command before proceeding. An eventfd based mechanism is added to synchronize QEMU & remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- v1 -> v2:

[Qemu-devel] [RFC v3 PATCH 04/45] multi-process: Add stub functions to facilate build of multi-process

2019-09-03 Thread Jagannathan Raman
Add stub functions that are needed during compile time but not in runtime. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- accel/stubs/kvm-stub.c| 5 +++ accel/stubs/tcg-stub.c| 85 +++ stubs

[Qemu-devel] [RFC v3 PATCH 05/45] multi-process: Add config option for multi-process QEMU

2019-09-03 Thread Jagannathan Raman
Add a configuration option to separate multi-process code Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- configure | 11 +++ 1 file changed, 11 insertions(+) diff --git a/configure b/configure index 714e7fb..b467441 100755 --- a/confi

[Qemu-devel] [PATCH v2] libvhost-user: fix SLAVE_SEND_FD handling

2019-09-03 Thread Johannes Berg
From: Johannes Berg It doesn't look like this could possibly work properly since VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD is defined to 10, but the dev->protocol_features has a bitmap. I suppose the peer this was tested with also supported VHOST_USER_PROTOCOL_F_LOG_SHMFD, in which case the test would

Re: [Qemu-devel] [PATCH] libvhost-user: fix SLAVE_SEND_FD handling

2019-09-03 Thread no-reply
Patchew URL: https://patchew.org/QEMU/20190903195442.11199-1-johan...@sipsolutions.net/ Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20190903195442.11199-1-johan...@sipsolutions.net Subject: [Qemu-devel] [PATCH] libv

[Qemu-devel] [PATCH] libvhost-user: fix SLAVE_SEND_FD handling

2019-09-03 Thread Johannes Berg
From: Johannes Berg It doesn't look like this could possibly work properly since VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD is defined to 10, but the dev->protocol_features has a bitmap. I suppose the peer this was tested with also supported VHOST_USER_PROTOCOL_F_LOG_SHMFD, in which case the test would

Re: [Qemu-devel] [PATCH] block/nfs: add support for nfs_umount

2019-09-03 Thread Peter Lieven
> Am 03.09.2019 um 16:56 schrieb Kevin Wolf : > > Am 03.09.2019 um 15:44 hat Peter Lieven geschrieben: >> libnfs recently added support for unmounting. Add support >> in Qemu too. >> >> Signed-off-by: Peter Lieven > > Looks trivial enough to review even for me. :-) > > Thanks, applied to th

Re: [Qemu-devel] [PATCH v6 0/4] 9p: Fix file ID collisions

2019-09-03 Thread Eric Blake
On 9/2/19 5:29 PM, Christian Schoenebeck via Qemu-devel wrote: > === OUTPUT BEGIN === > 1/4 Checking commit bb69de63f788 (9p: Treat multiple devices on one > export > as an error) ERROR: Author email address is mangled by the mailing > list > #2: > Author: Christian Sch

  1   2   3   4   >