On 15 June 2015 at 17:33, Eric Auger wrote:
> This patch aims at optimizing IRQ handling using irqfd framework.
>
> Instead of handling the eventfds on user-side they are handled on
> kernel side using
> - the KVM irqfd framework,
> - the VFIO driver virqfd framework.
>
> the virtual IRQ completio
On 06/26/2015 01:43 PM, Peter Maydell wrote:
> On 15 June 2015 at 17:33, Eric Auger wrote:
>> The arm_gic_kvm now calls kvm_irqchip_set_qemuirq_gsi to build
>> the hash table storing qemu_irq/gsi mappings. From that point on
>> irqfd can be setup directly from the qemu_irq using
>> kvm_irqchip_add
On Fri, 26 Jun 2015 17:15:45 +0530
Bharata B Rao wrote:
> On Fri, Jun 26, 2015 at 10:21:54AM +0200, Igor Mammedov wrote:
> > On Fri, 26 Jun 2015 09:36:01 +0530
> > Bharata B Rao wrote:
> >
> > > pc_dimm_plug() has code that will be needed for memory plug
> > > handlers in other archs too. Extra
Hi Stefan,
On 26/06/15 20:12, Stefan Hajnoczi wrote:
On Fri, Jun 26, 2015 at 03:27:12PM +1000, g...@uclinux.org wrote:
The following set of patches fixes the emulated ColdFire ethernet fec
driver. There is primarily two problems that need to be fixed.
1. The emulated driver needs to support pr
On Fri, 26 Jun 2015 11:00:45 +0100
Stefan Hajnoczi wrote:
> On Thu, Jun 25, 2015 at 05:26:09PM +0200, Greg Kurz wrote:
> > During early virtio 1.0 devel, there were several proposals about how to
> > deal endianness of the vring descriptor fields:
> > - convert the decriptor to host endianness in
ad669cf65ac49:
>
> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into
> staging (2015-06-25 14:03:55 +0100)
>
> are available in the git repository at:
>
> git://github.com/lalrae/qemu.git tags/mips-20150626
>
> for you to fetch changes
On Fri, 26 Jun 2015 12:28:45 +0200
Cornelia Huck wrote:
> On Fri, 26 Jun 2015 09:32:21 +0200
> Greg Kurz wrote:
>
> > During early virtio 1.0 devel, there were several proposals about how to
> > deal with the endianness of the vring descriptor fields:
> > - convert the decriptor to host endiann
On 06/26/2015 01:57 PM, Peter Maydell wrote:
> On 15 June 2015 at 17:33, Eric Auger wrote:
>> This patch aims at optimizing IRQ handling using irqfd framework.
>>
>> Instead of handling the eventfds on user-side they are handled on
>> kernel side using
>> - the KVM irqfd framework,
>> - the VFIO d
On 06/26/15 11:31, Markus Armbruster wrote:
> Laszlo Ersek writes:
>
>> With the pc-q35-2.4 machine type, if the user creates an ISA FDC manually:
>>
>> -device isa-fdc,driveA=drive-fdc0-0-0 \
>> -drive file=...,if=none,id=drive-fdc0-0-0,format=raw
>>
>> then the board-default FDC will be ski
On 26.06.2015 11:57, Stefan Hajnoczi wrote:
On Thu, Jun 25, 2015 at 12:33:25PM -0400, Jeff Cody wrote:
On Thu, Jun 25, 2015 at 12:30:56PM -0400, John Snow wrote:
On 06/25/2015 08:53 AM, Stefan Hajnoczi wrote:
Reclaim the dirty bitmap if an incremental backup block job is
cancelled. The ret v
On 26/06/2015 00:38, Marc-André Lureau wrote:
> It's nice to keep the config.log used to configure the build.
>
> Signed-off-by: Marc-André Lureau
> ---
> configure | 35 +++
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/configure b/confi
On Mon, Jun 08, 2015 at 01:56:06PM +0800, Fam Zheng wrote:
> v7: Fix the lost assignment of s->unmap.
>
> v6: Fix pnum in bdrv_get_block_status_above. [Paolo]
>
> v5: Rewrite patch 1.
> Address Eric's comments on patch 3.
> Add Eric's rev-by to patches 2 & 4.
> Check BDRV_BLOCK_DATA i
On 25 June 2015 at 23:38, Marc-André Lureau wrote:
> It's nice to keep the config.log used to configure the build.
>
> Signed-off-by: Marc-André Lureau
> ---
> configure | 35 +++
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/configure b/con
Instead of having set_pointer() call a parse callback which returns
an error number that we then convert to an Error string with
error_set_from_qdev_prop_error(), make the parse callback take an
Error** and set the error itself. This will allow parse routines
to provide more helpful error messages
If the user forgot if=none on their drive specification they're likely
to get an error message because the drive is assigned once automatically
by QEMU and once by the manual id=/drive= user command line specification.
Improve the error message produced in this case to explicitly guide the
user tow
From: Soren Brinkmann
When taking an exception print the content of the exception link
register. This is useful especially for synchronous exceptions because
in that case this registers holds the address of the instruction that
generated the exception.
Signed-off-by: Soren Brinkmann
Message-id:
Now we have virtio-pci, we can make the virt board's default block
device type be IF_VIRTIO. This allows users to use simplified
command lines that don't have to explicitly create virtio-pci-blk
devices; the -hda &c very short options now also work.
This means we also need to set no_cdrom to avoid
From: Shannon Zhao
The table revision is not the ACPI spec version. Fix the wrong revision
and also some comments.
Signed-off-by: Shannon Zhao
Reviewed-by: Michael S. Tsirkin
Message-id: 1433820378-8336-1-git-send-email-zhaoshengl...@huawei.com
Signed-off-by: Peter Maydell
---
hw/arm/virt-ac
From: Liviu Ionescu
If neither explicit semihosting args nor -kernel are used,
make SYS_GET_CMDLINE return an empty string.
Signed-off-by: Liviu Ionescu
Message-id: ac7b5afc-06ae-4fad-9852-b65708e80...@livius.net
Reviewed-by: Peter Maydell
Signed-off-by: Peter Maydell
---
target-arm/arm-semi
target-arm queue: a few new features, but all minor stuff.
thanks
-- PMM
The following changes since commit ccb0c7e122db72d3a5da798c6414d4912bba828f:
Merge remote-tracking branch 'remotes/lalrae/tags/mips-20150626' into staging
(2015-06-26 11:32:58 +0100)
are available
From: Shannon Zhao
Add GICv2m description in ACPI MADT table, so guest can use MSI when
booting with ACPI.
Signed-off-by: Shannon Zhao
Signed-off-by: Shannon Zhao
Reviewed-by: Andrew Jones
Tested-by: Andrew Jones
Message-id: 1434676210-2276-1-git-send-email-shannon.z...@linaro.org
Signed-off
Hi,
>>There is no problem, the observasion by Andrey was just that qmp command
>>takes
>>a few minutes before returning, because he didn't apply
>>
>>https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg02511.html
Is this patch already apply on the block tree ?
With nfs as source storage
The following changes since commit 0c8ff723bd29e5c8b2ca989f857ae5c37ec49c4e:
m68k: fix usp processing on interrupt entry and exception exit (2015-06-22
14:43:25 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
for you to fe
From: "Denis V. Lunev"
Excessive virtio_balloon inflation can cause invocation of OOM-killer,
when Linux is under severe memory pressure. Various mechanisms are
responsible for correct virtio_balloon memory management. Nevertheless it
is often the case that these control tools does not have enoug
From: Gonglei
Potentially overflowing expression "1 << prop->bitnr" with
type "int" (32 bits, signed) is evaluated using 32-bit arithmetic,
and then used in a context that expects an expression of type
"uint64_t" (64 bits, unsigned).
Cc: Gerd Hoffmann
Signed-off-by: Paolo Bonzini
Signed-off-by
From: Igor Mammedov
remove some code duplication in acpi-build.c and drop 5
ASL and binary blobs files with TPM ACPI device description,
replacing them with 1 small hunk written in AML API.
Signed-off-by: Igor Mammedov
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
hw/
From: Gonglei
Overrunning array "proxy->guest_features" of 2 4-byte
elements at element index 2 (byte offset 8) using index
"proxy->gfselect" (which evaluates to 2). Normally, the
Linux kernel driver just read/write '0' or '1' as the
"proxy->gfselect" values, so using '<' instead of '=<' to
make
Igor agreed to help review ACPI patches, add an entry to MAINTAINERS
with all ACPI stuff I could think of.
Note: I listed ARM ACPI files here just to make sure we are Cc'd, no
plan to maintain ACPI for ARM through my tree :)
Signed-off-by: Michael S. Tsirkin
---
MAINTAINERS | 12
1
From: Gerd Hoffmann
Simplifies multiseat configuration, see
docs/multiseat.txt update for details.
Signed-off-by: Gerd Hoffmann
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
include/hw/pci/pci.h | 1 +
hw/pci-bridge/pci_bridge_dev.c | 25 +++
From: Laszlo Ersek
Change the signature of the function-like macro SHPC_VMSTATE(), so that we
can produce and expect this field conditionally in the migration stream,
starting with an upcoming patch.
Cc: Michael S. Tsirkin
Cc: Marcel Apfelbaum
Signed-off-by: Laszlo Ersek
Reviewed-by: Michael
From: Laszlo Ersek
There is no _TEST() variant of VMSTATE_BUFFER_UNSAFE_INFO() yet, but we'll
soon need it. Introduce it and rebase the original
VMSTATE_BUFFER_UNSAFE_INFO() on top.
The parameter order of the new function-like macro follows that of
VMSTATE_SINGLE_TEST(): "_test" is introduced be
From: Laszlo Ersek
It follows msi_present() in "include/hw/pci/msi.h".
Cc: Michael S. Tsirkin
Cc: Marcel Apfelbaum
Signed-off-by: Laszlo Ersek
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
include/hw/pci/shpc.h | 6 ++
1 file changed, 6 insertions(+)
diff --git
From: Laszlo Ersek
In the PCI expander bridge, we will want to disable those features of
pci-bridge that relate to SHPC (standard hotplug controller):
- SHPC bar and underlying MemoryRegion
- interrupt (INTx or MSI)
- effective hotplug callbacks
- other SHPC hooks (initialization, cleanup, migra
From: Laszlo Ersek
The sysbus_get_fw_dev_path() function formats OpenFirmware device path
nodes ("driver-name@unit-address") for sysbus devices. The first choice
for "unit-address" is the base address of the device's first MMIO region.
The second choice is its first IO port.
However, if two sysb
From: Laszlo Ersek
This should help catch property name typos at compile time.
Cc: Michael S. Tsirkin
Cc: Marcel Apfelbaum
Signed-off-by: Laszlo Ersek
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
include/hw/pci/pci_bridge.h | 2 ++
hw/pci-bridge/pci_bridge_
From: "Dr. David Alan Gilbert"
A typo means that the tests dependent on glib with subprocess
support are never run.
Fixes: 9d41401b90fa10b335d2e739149d36437cfbf622
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
configure | 2 +-
1
On 25.06.2015 08:41, Wen Congyang wrote:
We can use block job mirror to repair broken quorum files. But the command
'info block' doesn't output correct filename after block job mirror finishes.
Which filename? The quorum filename is broken after this patch, too. In
order to fix this, we need t
From: Laszlo Ersek
We have agreed that OpenFirmware device paths in the "bootorder" fw_cfg
file should follow the pattern
/pci@i0cf8,%x/...
for devices that live behind an extra root bus. The extra root bus in
question is the %x'th among the extra root buses. (In other words, %x
gives the pos
From: Laszlo Ersek
OVMF downloads the ACPI linker/loader script from QEMU when the edk2 PCI
Bus driver globally signals the firmware that PCI enumeration and resource
allocation have completed. At this point QEMU regenerates the ACPI payload
in an fw_cfg read callback, and this is when the PXB's
From: Laszlo Ersek
This should help catch property name typos at compile time.
Cc: Michael S. Tsirkin
Cc: Marcel Apfelbaum
Signed-off-by: Laszlo Ersek
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Michael S. Tsirkin
---
include/hw/pci/pci_bridge.h| 1 +
hw/pci-bridge/pci_bridge_dev.c
From: Jason Wang
We override the error value r in fail_vq, this will cause the caller
can't detect the failure which may cause the caller may disable the
notifiers twice if vhost is failed to start. Fix this by using another
variable to keep track the return value of set_host_notifier().
Fixes b
On Mon, Jun 22, 2015 at 07:38:12PM -0400, John Snow wrote:
> requires: 1434470575-21625-1-git-send-email-js...@redhat.com
> [PATCH v2 0/4] ahci: misc fixes/tests for 2.4
>
> This series adds a couple of tests to exercise the NCQ pathways
> and establish a baseline for us.
>
> Most of th
>>With nfs as source storage, it's really slow currently (lseek slow + a lot of
>>nfs ops).
it's blocked around 30min for 300GB, with a raw file on a netapp san array
through nfs.
- Mail original -
De: "aderumier"
À: "Fam Zheng"
Cc: "Kevin Wolf" , qemu-bl...@nongnu.org, "Jeff Cody"
Markus Armbruster writes:
> Just spotted this in my git-pull...
>
> Alexander Yarygin writes:
>
>> Each call of the virtio_blk_reset() function calls blk_drain_all(),
>> which works for all existing BlockDriverStates, while draining only
>> one is needed.
>>
>> This patch replaces blk_drain_all(
Ping?
thanks
-- PMM
On 15 June 2015 at 19:49, Peter Maydell wrote:
> This patchset makes the ARM and Thumb encodings of the YIELD hint
> instruction in the ARM cause the TCG CPU to yield control back
> to the top level loop. This brings them into line with the A64
> encoding which already did th
Mainly for completeness.
Signed-off-by: Marc-André Lureau
---
tests/vhost-user-test.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 75fedf0..509437b 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -198,6 +198,7 @
On 26/06/2015 16:04, Peter Maydell wrote:
> Ping?
Oh, YIELD was what I was thinking of in the thread about IPIs, not WFE
(which would require SEV on the other core)...
The patches look good, but I cannot really say much about this code.
Paolo
> thanks
> -- PMM
>
> On 15 June 2015 at 19:49, P
At 2015/6/26 21:47, Max Reitz Wrote:
On 25.06.2015 08:41, Wen Congyang wrote:
We can use block job mirror to repair broken quorum files. But the
command
'info block' doesn't output correct filename after block job mirror
finishes.
Which filename? The quorum filename is broken after this patch,
On 26 June 2015 at 15:25, Paolo Bonzini wrote:
>
>
> On 26/06/2015 16:04, Peter Maydell wrote:
>> Ping?
>
> Oh, YIELD was what I was thinking of in the thread about IPIs, not WFE
> (which would require SEV on the other core)...
Linux doesn't in practice put YIELD insns into its busy loops,
so thi
On 06/26/15 15:46, Michael S. Tsirkin wrote:
> From: Laszlo Ersek
>
> We have agreed that OpenFirmware device paths in the "bootorder" fw_cfg
> file should follow the pattern
>
> /pci@i0cf8,%x/...
>
> for devices that live behind an extra root bus. The extra root bus in
> question is the %x't
On Mon, Jun 22, 2015 at 08:21:00PM -0400, John Snow wrote:
> diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
> index 95d228f..f873ab1 100644
> --- a/hw/ide/ahci.c
> +++ b/hw/ide/ahci.c
> @@ -49,7 +49,7 @@ static int handle_cmd(AHCIState *s,int port,int slot);
> static void ahci_reset_port(AHCIState *s,
Am 26.06.2015 um 16:04 schrieb Peter Maydell:
> Ping?
OK for me.
Best regards
Alex
>
> thanks
> -- PMM
>
> On 15 June 2015 at 19:49, Peter Maydell wrote:
>> This patchset makes the ARM and Thumb encodings of the YIELD hint
>> instruction in the ARM cause the TCG CPU to yield control back
>> t
Hi
On Fri, Jun 26, 2015 at 3:26 PM, Peter Maydell
wrote:
> Doesn't this mean we're now going to just drop a bunch of the
> logging on the floor in the case where the user didn't say --help?
> That doesn't sound great...
>
>
It drops a few arch checks before help:
cc -D_GNU_SOURCE -D_FILE_OFFSET
From: KONRAD Frederic
Signed-off-by: KONRAD Frederic
---
cpus.c| 2 +-
include/qom/cpu.h | 11 +++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/cpus.c b/cpus.c
index 4f0e54d..2d62a35 100644
--- a/cpus.c
+++ b/cpus.c
@@ -74,7 +74,7 @@ bool cpu_is_stopped(CP
From: Guillaume Delbergue
WARNING: spin lock is currently not implemented on WIN32
Signed-off-by: Guillaume Delbergue
---
include/qemu/thread-posix.h | 4
include/qemu/thread-win32.h | 4
include/qemu/thread.h | 7 +++
util/qemu-thread-posix.c| 45 +++
From: KONRAD Frederic
spinlock is only used in two cases:
* cpu-exec.c: to protect TranslationBlock
* mem_helper.c: for lock helper in target-i386 (which seems broken).
It's a pthread_mutex_t in user-mode so better using QemuMutex directly in this
case.
It allows as well to reuse tb_lock mut
From: KONRAD Frederic
This removes tcg_halt_cond global variable.
We need one QemuCond per virtual cpu for multithread TCG.
Signed-off-by: KONRAD Frederic
---
cpus.c | 18 +++---
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/cpus.c b/cpus.c
index 2d62a35..79383df 1
From: KONRAD Frederic
This removes exit_request global and adds a variable in CPUState for this.
Only the flag for the first cpu is used for the moment as we are still with one
TCG thread.
Signed-off-by: KONRAD Frederic
---
cpu-exec.c | 15 ---
cpus.c | 17 ++---
2
From: KONRAD Frederic
This protects TBContext with tb_lock to make tb_* thread safe.
We can still have issue with tb_flush in case of multithread TCG:
An other CPU can be executing code during a flush.
This can be fixed later by making all other TCG thread exiting before calling
tb_flush().
From: KONRAD Frederic
This is the 6th round of the MTTCG patch series with hopefully a lot of
improvements since the last version. Basically the atomic patch has been
significantly improved, some issues has been fixed and the speed has been
improved.
It can be cloned from:
g...@git.greensocs.com
From: KONRAD Frederic
This just removes spinlock as it is not used anymore.
Signed-off-by: KONRAD Frederic
---
include/exec/spinlock.h | 49 -
scripts/checkpatch.pl | 9 ++---
2 files changed, 2 insertions(+), 56 deletions(-)
delete mode
From: KONRAD Frederic
This switches on multithread.
Signed-off-by: KONRAD Frederic
Changes V5 -> V6:
* make qemu_cpu_kick calling qemu_cpu_kick_thread in case of TCG.
---
cpus.c | 95 --
1 file changed, 34 insertions(+), 61 del
From: KONRAD Frederic
We need to know whether any other VCPU is executing code or not it's possible
with this flag.
Signed-off-by: KONRAD Frederic
---
cpu-exec.c| 1 +
cpus.c| 1 +
include/qom/cpu.h | 3 +++
qom/cpu.c | 1 +
4 files changed, 6 insertions(+)
diff --
From: KONRAD Frederic
Instead of doing the jump cache invalidation directly in tb_invalidate delay it
after the exit so we don't have an other CPU trying to execute the code being
invalidated.
Signed-off-by: KONRAD Frederic
---
translate-all.c | 61 +
From: Jan Kiszka
This finally allows TCG to benefit from the iothread introduction: Drop
the global mutex while running pure TCG CPU code. Reacquire the lock
when entering MMIO or PIO emulation, or when leaving the TCG loop.
We have to revert a few optimization for the current TCG threading
mode
From: KONRAD Frederic
This makes qemu_cpu_kick_thread public.
Signed-off-by: KONRAD Frederic
---
cpus.c| 2 +-
include/sysemu/cpus.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/cpus.c b/cpus.c
index 08267ed..5f13d73 100644
--- a/cpus.c
+++ b/cpus.c
@@ -
Make a new function fifo_update_and_get() that can be reused by other
part of the functions.
---
hw/misc/ivshmem.c | 59 ---
1 file changed, 39 insertions(+), 20 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 2162d02..dd15
From: KONRAD Frederic
Some architectures allow to flush the tlb of other VCPUs. This is not a problem
when we have only one thread for all VCPUs but it definitely needs to be an
asynchronous work when we are in true multithreaded work.
TODO: Some test case, I fear some bad results in case a VCPU
From: KONRAD Frederic
This changes just the tb_flush called from tb_alloc.
TODO:
* changes the other tb_flush.
Signed-off-by: KONRAD Frederic
---
translate-all.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/translate-all.c b/translate-all.c
index 8bd8fe8..9adaffa 10064
max_peer isn't really useful, it tracks the maximum received VM id, but
that quickly matches nb_peers, the size of the peers array. Since VM
come and go, there might be sparse peers so it doesn't help much in
general to have this value around.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem
If a chardev is allowed to be created outside of QMP, then it must be
also possible to free it. This is useful for ivshmem that creates
chardev anonymously and must be able to free them.
Signed-off-by: Marc-André Lureau
---
include/sysemu/char.h | 10 +-
qemu-char.c | 9 ++
From: KONRAD Frederic
This mechanism replaces the existing load/store exclusive mechanism which seems
to be broken for multithread.
It follows the intention of the existing mechanism and stores the target address
and data values during a load operation and checks that they remain unchanged
before
0 is a valid fd value, so change conditions and set -1 value early
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 199086d..9085f7c 100644
--- a/hw/misc/ivshmem.c
+++ b/hw
ivshmem_read() only reads sizeof(long) from the input buffer. Accepting
more could lead to fifo8 abort() on x86 if it's not empty.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
ind
From: KONRAD Frederic
This just use the new mechanism to ensure that each VCPU thread flush its own
VCPU.
Signed-off-by: KONRAD Frederic
---
target-arm/helper.c | 45 +++--
1 file changed, 7 insertions(+), 38 deletions(-)
diff --git a/target-arm/helper.
ivshmem is going to use MSIX state conditionally.
Signed-off-by: Marc-André Lureau
---
include/hw/pci/msix.h | 16 ++--
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/include/hw/pci/msix.h b/include/hw/pci/msix.h
index 954d82b..72e5f93 100644
--- a/include/hw/pci/msix
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 5e4b2cc..1b8204e 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -71,7 +71,6 @@ typedef struct IVShmemState {
uint32_t intrmask;
From: KONRAD Frederic
We already had async_run_on_cpu but we need all VCPUs outside their execution
loop to execute some tb_flush/invalidate task:
async_run_on_cpu_safe schedule a work on a VCPU but the work start when no more
VCPUs are executing code.
When a safe work is pending cpu_has_work re
The terms 'guest' and 'peer' are used sometime interchangeably which may
be confusing. Instead, use 'peer' for the remote instances of ivshmem
clients, and 'guest' for the local VM.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 28 ++--
1 file changed, 14 inser
If the fifo has 0 bytes, and the read is of size 1, the call to
fifo8_push_all() will copy out of bounds data.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index fb53b3f..2162d02 1
From: KONRAD Frederic
tb_flush is not thread safe we definitely need to exit VCPUs to do that.
This introduces tb_flush_safe which just creates an async safe work which will
do a tb_flush later.
Signed-off-by: KONRAD Frederic
---
include/exec/exec-all.h | 1 +
translate-all.c | 15 +++
qemu_chr_fe_get_msgfd() transfer ownership, there is no need to dup the fd.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 21 ++---
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index dd15f0e..fbeb731 100644
--- a/
In practice, the number of VM is limited to MAXUINT16 in ivshmem, so use
the same limit on the server.
Signed-off-by: Marc-André Lureau
---
contrib/ivshmem-server/ivshmem-server.c | 11 ++-
contrib/ivshmem-server/ivshmem-server.h | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
Use the latest qemu device modeling API, in particular, convert to
realize to fix the error handling; right now a botched device_add
ivhsmem command kills the VM.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 119 +++---
1 file changed,
- rename the function resize_peers() to better reflect the content
- limit the maximum number of peers to IVSHMEM_MAX_PEERS as MAXUINT16,
which is more realistic and also better reflects the limit of the
doorbell register.
- change the argument to be the size, not the 0-index max value
- immedia
Hi,
This series is mostly about the pending patches from David Marchand
adding the client/server code, cleanups, and finally adding some
tests.
David Marchand (3):
contrib: add ivshmem client and server
docs: update ivshmem device spec
ivshmem: add check on protocol version in QEMU
Marc-An
From: David Marchand
Send a protocol version as the first message from server, clients must
close communication if they don't support this protocol version. Older
QEMUs should be fine with this change in the protocol since they
overrides their own vm_id on reception of an id associated to no
eve
There is no peer when device is initialized, do not accept doorbell for
peer 0.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 9776e4e..2c78dee 100644
--- a/hw/misc/ivshmem
val isn't used in ivshmem_update_irq() function.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 66f9c0b..9776e4e 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 16 +++-
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index fbeb731..5e4b2cc 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -85,7 +85,6 @@ typedef struct IVShmemS
Allow a test to add abort handlers, use GHook for all handlers.
There is currently no way to remove a handler, but it could be
later added if needed.
Signed-off-by: Marc-André Lureau
---
tests/libqtest.c | 37 -
tests/libqtest.h | 2 ++
2 files changed, 26 i
The interrupt mask is a state value, it should be reset, like the value.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index ade7456..47a65a2 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
Some misc improvements to ivshmem debug.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 4958307..0cc5682 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -2
It's nice to keep the config.log used to configure the build.
Signed-off-by: Marc-André Lureau
---
v2 addresses Peter Maydell review, and keeps the log before help in
case --help isn't given.
configure | 42 +++---
1 file changed, 27 insertions(+), 15 deletio
Failing to create a chardev shouldn't be fatal.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 3af73a5..7ba93c0 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -299,7
Check the number of vectors received from the server, to avoid
out of bound array access.
Signed-off-by: Marc-André Lureau
---
contrib/ivshmem-client/ivshmem-client.c | 4
1 file changed, 4 insertions(+)
diff --git a/contrib/ivshmem-client/ivshmem-client.c
b/contrib/ivshmem-client/ivshmem
The test whether the chardev is an AF_UNIX socket rejects
"-chardev socket,id=chr0,path=/tmp/foo,server,nowait -device
ivshmem,chardev=chr0", but fails to explain why.
Use an explicit error on why a chardev may be rejected.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 10 +++---
The server shouldn't send invalid peer id, so print an error if it's the
case.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index ab13f70..17dc122 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivsh
From: David Marchand
Add some notes on the parts needed to use ivshmem devices: more specifically,
explain the purpose of an ivshmem server and the basic concept to use the
ivshmem devices in guests.
Move some parts of the documentation and re-organise it.
Signed-off-by: David Marchand
Reviewed
Use more explicit variables.
Signed-off-by: Marc-André Lureau
---
hw/misc/ivshmem.c | 26 --
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 6f3d2fe..84d8ff1 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
101 - 200 of 317 matches
Mail list logo