Re: [PATCH v3] virtio-serial-bus: Plug memory leak on realize() error paths

2020-03-09 Thread Michael S. Tsirkin
On Mon, Mar 09, 2020 at 10:17:38AM +0800, Pan Nengyuan wrote: > We neglect to free port->bh on the error paths. Fix that. > Reproducer: > {'execute': 'device_add', 'arguments': {'id': 'virtio_serial_pci0', > 'driver': 'virtio-serial-pci', 'bus': 'pci.0', 'addr': '0x5'}, 'id': > 'yVkZcGgV'} >

RE: [PATCH v12 Kernel 0/7] KABIs to support migration for VFIO devices

2020-03-09 Thread Zengtao (B)
Hi Kirti: What kind of platform/IO are you using now to do the basic code verification? I just want to check if I can verify it on my platform, and if any open IO cards available? Thanks. Regards Zengtao > -Original Message- > From: kvm-ow...@vger.kernel.org [mailto:kvm-ow...@vger.ke

Re: [PATCH v3] virtio-serial-bus: Plug memory leak on realize() error paths

2020-03-09 Thread Laurent Vivier
On 09/03/2020 03:17, Pan Nengyuan wrote: > We neglect to free port->bh on the error paths. Fix that. > Reproducer: > {'execute': 'device_add', 'arguments': {'id': 'virtio_serial_pci0', > 'driver': 'virtio-serial-pci', 'bus': 'pci.0', 'addr': '0x5'}, 'id': > 'yVkZcGgV'} > {'execute': 'dev

Re: [PATCH v3] virtio-serial-bus: Plug memory leak on realize() error paths

2020-03-09 Thread Markus Armbruster
"Michael S. Tsirkin" writes: > On Mon, Mar 09, 2020 at 10:17:38AM +0800, Pan Nengyuan wrote: >> We neglect to free port->bh on the error paths. Fix that. >> Reproducer: >> {'execute': 'device_add', 'arguments': {'id': 'virtio_serial_pci0', >> 'driver': 'virtio-serial-pci', 'bus': 'pci.0', '

Re: [PATCH v3] virtio-serial-bus: Plug memory leak on realize() error paths

2020-03-09 Thread Amit Shah
On Mon, 2020-03-09 at 03:02 -0400, Michael S. Tsirkin wrote: > On Mon, Mar 09, 2020 at 10:17:38AM +0800, Pan Nengyuan wrote: > > We neglect to free port->bh on the error paths. Fix that. > > Reproducer: > > {'execute': 'device_add', 'arguments': {'id': > > 'virtio_serial_pci0', 'driver': 'virt

[PATCH v3 07/60] target/riscv: add fault-only-first unit stride load

2020-03-09 Thread LIU Zhiwei
The unit-stride fault-only-fault load instructions are used to vectorize loops with data-dependent exit conditions(while loops). These instructions execute as a regular load except that they will only take a trap on element 0. Signed-off-by: LIU Zhiwei --- target/riscv/helper.h

[PATCH v3 01/60] target/riscv: add vector extension field in CPURISCVState

2020-03-09 Thread LIU Zhiwei
The 32 vector registers will be viewed as a continuous memory block. It avoids the convension between element index and (regno, offset). Thus elements can be directly accessed by offset from the first vector base address. Signed-off-by: LIU Zhiwei Acked-by: Alistair Francis Reviewed-by: Richard

[PATCH v3 00/60] target/riscv: support vector extension v0.7.1

2020-03-09 Thread LIU Zhiwei
This patchset implements the vector extension for RISC-V on QEMU. You can also find the patchset and all *test cases* in my repo(https://github.com/romanheros/qemu.git branch:vector-upstream-v3). All the test cases are in the directory qemu/tests/riscv/vector/. They are riscv64 linux user mode pro

[PATCH v3 03/60] target/riscv: support vector extension csr

2020-03-09 Thread LIU Zhiwei
The v0.7.1 specification does not define vector status within mstatus. A future revision will define the privileged portion of the vector status. Signed-off-by: LIU Zhiwei --- target/riscv/cpu_bits.h | 15 + target/riscv/csr.c | 75 - 2 files

[PATCH v3 09/60] target/riscv: vector single-width integer add and subtract

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 21 +++ target/riscv/insn32.decode | 10 ++ target/riscv/insn_trans/trans_rvv.inc.c | 220 target/riscv/vector_helper.c| 122 + 4 files changed, 373 insertions(+

[PATCH v3 04/60] target/riscv: add vector configure instruction

2020-03-09 Thread LIU Zhiwei
vsetvl and vsetvli are two configure instructions for vl, vtype. TB flags should update after configure instructions. The (ill, lmul, sew ) of vtype and the bit of (VSTART == 0 && VL == VLMAX) will be placed within tb_flags. Signed-off-by: LIU Zhiwei --- target/riscv/Makefile.objs |

[PATCH v3 10/60] target/riscv: vector widening integer add and subtract

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 49 target/riscv/insn32.decode | 16 +++ target/riscv/insn_trans/trans_rvv.inc.c | 154 target/riscv/vector_helper.c| 112 + 4 files changed, 331 in

[PATCH v3 02/60] target/riscv: implementation-defined constant parameters

2020-03-09 Thread LIU Zhiwei
vlen is the vector register length in bits. elen is the max element size in bits. vext_spec is the vector specification version, default value is v0.7.1. Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Reviewed-by: Richard Henderson --- target/riscv/cpu.c | 7 +++ target/riscv/cpu.

[PATCH v3 20/60] target/riscv: vector single-width integer multiply-add instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 33 ++ target/riscv/insn32.decode | 8 +++ target/riscv/insn_trans/trans_rvv.inc.c | 10 +++ target/riscv/vector_helper.c| 88 + 4 files changed, 139 insertions(+) di

[PATCH v3 05/60] target/riscv: add vector stride load and store instructions

2020-03-09 Thread LIU Zhiwei
Vector strided operations access the first memory element at the base address, and then access subsequent elements at address increments given by the byte offset contained in the x register specified by rs2. Vector unit-stride operations access elements stored contiguously in memory starting from

[PATCH v3 06/60] target/riscv: add vector index load and store instructions

2020-03-09 Thread LIU Zhiwei
Vector indexed operations add the contents of each element of the vector offset operand specified by vs2 to the base effective address to give the effective address of each element. Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 35 +++ target/riscv/insn32.decode

[PATCH v3 24/60] target/riscv: vector single-width averaging add and subtract

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 17 target/riscv/insn32.decode | 5 + target/riscv/insn_trans/trans_rvv.inc.c | 7 ++ target/riscv/vector_helper.c| 129 4 files changed, 158 insertions(+) diff --g

[PATCH v3 08/60] target/riscv: add vector amo operations

2020-03-09 Thread LIU Zhiwei
Vector AMOs operate as if aq and rl bits were zero on each element with regard to ordering relative to other instructions in the same hart. Vector AMOs provide no ordering guarantee between element operations in the same vector AMO instruction Signed-off-by: LIU Zhiwei --- target/riscv/cpu.h

[PATCH v3 25/60] target/riscv: vector single-width fractional multiply with rounding and saturation

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 9 +++ target/riscv/insn32.decode | 2 + target/riscv/insn_trans/trans_rvv.inc.c | 4 + target/riscv/vector_helper.c| 103 4 files changed, 118 insertions(+) diff --git

[PATCH v3 31/60] target/riscv: vector single-width floating-point multiply/divide instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 16 + target/riscv/insn32.decode | 5 +++ target/riscv/insn_trans/trans_rvv.inc.c | 7 target/riscv/vector_helper.c| 48 + 4 files changed, 76 insertions(+) dif

[PATCH v3 12/60] target/riscv: vector bitwise logical instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 25 target/riscv/insn32.decode | 9 + target/riscv/insn_trans/trans_rvv.inc.c | 11 ++ target/riscv/vector_helper.c| 51 + 4 files changed, 96 insertions(

[PATCH v3 27/60] target/riscv: vector single-width scaling shift instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 17 target/riscv/insn32.decode | 6 ++ target/riscv/insn_trans/trans_rvv.inc.c | 8 ++ target/riscv/vector_helper.c| 109 4 files changed, 140 insertions(+) diff --

[PATCH v3 23/60] target/riscv: vector single-width saturating add and subtract

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 33 +++ target/riscv/insn32.decode | 10 + target/riscv/insn_trans/trans_rvv.inc.c | 16 ++ target/riscv/vector_helper.c| 278 4 files changed, 337 insertions(+) diff --gi

[PATCH v3 18/60] target/riscv: vector integer divide instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 33 +++ target/riscv/insn32.decode | 8 +++ target/riscv/insn_trans/trans_rvv.inc.c | 10 target/riscv/vector_helper.c| 74 + 4 files changed, 125 insertions(+)

[PATCH v3 34/60] target/riscv: vector widening floating-point fused multiply-add instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 17 + target/riscv/insn32.decode | 8 +++ target/riscv/insn_trans/trans_rvv.inc.c | 10 +++ target/riscv/vector_helper.c| 84 + 4 files changed, 119 insertions(+) diff --

[PATCH v3 19/60] target/riscv: vector widening integer multiply instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 19 + target/riscv/insn32.decode | 6 +++ target/riscv/insn_trans/trans_rvv.inc.c | 8 target/riscv/vector_helper.c| 51 + 4 files changed, 84 insertions(+) dif

[PATCH v3 40/60] target/riscv: vector floating-point merge instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 4 target/riscv/insn32.decode | 1 + target/riscv/insn_trans/trans_rvv.inc.c | 12 +++ target/riscv/vector_helper.c| 28 + 4 files changed, 45 insertions(+) dif

[PATCH v3 17/60] target/riscv: vector single-width integer multiply instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 33 ++ target/riscv/insn32.decode | 8 ++ target/riscv/insn_trans/trans_rvv.inc.c | 10 ++ target/riscv/vector_helper.c| 147 4 files changed, 198 insertions(+) diff

[PATCH v3 39/60] target/riscv: vector floating-point classify instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 4 ++ target/riscv/insn32.decode | 1 + target/riscv/insn_trans/trans_rvv.inc.c | 3 ++ target/riscv/vector_helper.c| 62 + 4 files changed, 70 insertions(+) diff --git a/t

[PATCH v3 13/60] target/riscv: vector single-width bit shift instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 25 target/riscv/insn32.decode | 9 +++ target/riscv/insn_trans/trans_rvv.inc.c | 44 + target/riscv/vector_helper.c| 82 + 4 files changed, 160 insertion

[PATCH v3 29/60] target/riscv: vector single-width floating-point add/subtract instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 16 target/riscv/insn32.decode | 5 ++ target/riscv/insn_trans/trans_rvv.inc.c | 107 target/riscv/vector_helper.c| 89 4 files changed, 217 inse

[PATCH v3 14/60] target/riscv: vector narrowing integer right shift instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 13 target/riscv/insn32.decode | 6 ++ target/riscv/insn_trans/trans_rvv.inc.c | 91 + target/riscv/vector_helper.c| 14 4 files changed, 124 insertions(+) diff --g

[PATCH v3 26/60] target/riscv: vector widening saturating scaled multiply-add

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 22 +++ target/riscv/insn32.decode | 7 + target/riscv/insn_trans/trans_rvv.inc.c | 9 ++ target/riscv/vector_helper.c| 180 4 files changed, 218 insertions(+) diff --gi

[PATCH v3 42/60] target/riscv: widening floating-point/integer type-convert instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 11 ++ target/riscv/insn32.decode | 5 +++ target/riscv/insn_trans/trans_rvv.inc.c | 42 +++ target/riscv/vector_helper.c| 45 + 4 files changed, 103 i

[PATCH v3 21/60] target/riscv: vector widening integer multiply-add instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 22 target/riscv/insn32.decode | 7 target/riscv/insn_trans/trans_rvv.inc.c | 9 + target/riscv/vector_helper.c| 45 + 4 files changed, 83 insertions(+)

[PATCH v3 45/60] target/riscv: vector wideing integer reduction instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 7 +++ target/riscv/insn32.decode | 2 ++ target/riscv/insn_trans/trans_rvv.inc.c | 4 target/riscv/vector_helper.c| 11 +++ 4 files changed, 24 insertions(+) diff --git a/target/

[PATCH v3 30/60] target/riscv: vector widening floating-point add/subtract instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 17 +++ target/riscv/insn32.decode | 8 ++ target/riscv/insn_trans/trans_rvv.inc.c | 131 target/riscv/vector_helper.c| 77 ++ 4 files changed, 233 insertions(

[PATCH v2 0/4] reference implementation of RSS

2020-03-09 Thread Yuri Benditovich
Support for VIRTIO_NET_F_RSS feature in QEMU for reference purpose. Implements Toeplitz hash calculation for incoming packets according to configuration provided by driver. Changes from v1: Changes in standard virtio_net.h moved to virtio-net.c until standard Linux header is updated and merged to

[PATCH v3 28/60] target/riscv: vector narrowing fixed-point clip instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 13 +++ target/riscv/insn32.decode | 6 ++ target/riscv/insn_trans/trans_rvv.inc.c | 8 ++ target/riscv/vector_helper.c| 128 4 files changed, 155 insertions(+) diff --g

[PATCH v3 22/60] target/riscv: vector integer merge and move instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 9 target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvv.inc.c | 24 ++ target/riscv/vector_helper.c| 58 + 4 files changed, 94 insertions(+) dif

[PATCH v3 15/60] target/riscv: vector integer comparison instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 57 +++ target/riscv/insn32.decode | 20 target/riscv/insn_trans/trans_rvv.inc.c | 66 target/riscv/vector_helper.c| 130 4 files changed, 273 ins

[PATCH v3 38/60] target/riscv: vector floating-point compare instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 37 target/riscv/insn32.decode | 12 ++ target/riscv/insn_trans/trans_rvv.inc.c | 33 target/riscv/vector_helper.c| 221 4 files changed, 303 insertions(+) diff

[PATCH v2 1/4] virtio-net: introduce RSS and hash report features

2020-03-09 Thread Yuri Benditovich
Signed-off-by: Yuri Benditovich --- hw/net/virtio-net.c | 95 + 1 file changed, 95 insertions(+) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3627bb1717..9545b0e84f 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -71,6 +71

[PATCH v3 11/60] target/riscv: vector integer add-with-carry / subtract-with-borrow instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 33 ++ target/riscv/insn32.decode | 10 ++ target/riscv/insn_trans/trans_rvv.inc.c | 108 ++ target/riscv/vector_helper.c| 140 4 files changed, 291 inse

[PATCH v3 48/60] target/riscv: vector mask-register logical instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 9 ++ target/riscv/insn32.decode | 8 + target/riscv/insn_trans/trans_rvv.inc.c | 28 + target/riscv/vector_helper.c| 40 + 4 files changed, 85 insert

[PATCH v2 2/4] virtio-net: implement RSS configuration command

2020-03-09 Thread Yuri Benditovich
Optionally report RSS feature. Handle RSS configuration command and keep RSS parameters in virtio-net device context. Signed-off-by: Yuri Benditovich --- hw/net/trace-events| 3 + hw/net/virtio-net.c| 148 +++-- include/hw/virtio/virtio-net.h

[PATCH v3 35/60] target/riscv: vector floating-point square-root instruction

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 4 +++ target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvv.inc.c | 37 +++ target/riscv/vector_helper.c| 40 + 4 files changed, 84 insert

[PATCH v3 41/60] target/riscv: vector floating-point/integer type-convert instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 13 ++ target/riscv/insn32.decode | 4 +++ target/riscv/insn_trans/trans_rvv.inc.c | 6 + target/riscv/vector_helper.c| 33 + 4 files changed, 56 insertions(+) d

[PATCH v3 36/60] target/riscv: vector floating-point min/max instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 13 target/riscv/insn32.decode | 4 target/riscv/insn_trans/trans_rvv.inc.c | 6 ++ target/riscv/vector_helper.c| 27 + 4 files changed, 50 insertions(+

[PATCH v3 43/60] target/riscv: narrowing floating-point/integer type-convert instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 11 +++ target/riscv/insn32.decode | 5 +++ target/riscv/insn_trans/trans_rvv.inc.c | 42 + target/riscv/vector_helper.c| 42 + 4 files changed, 10

[PATCH v3 33/60] target/riscv: vector single-width floating-point fused multiply-add instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 49 + target/riscv/insn32.decode | 16 ++ target/riscv/insn_trans/trans_rvv.inc.c | 18 ++ target/riscv/vector_helper.c| 228 4 files changed, 311 insertions(+) diff -

[PATCH v3 37/60] target/riscv: vector floating-point sign-injection instructions

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 19 +++ target/riscv/insn32.decode | 6 ++ target/riscv/insn_trans/trans_rvv.inc.c | 8 +++ target/riscv/vector_helper.c| 76 + 4 files changed, 109 insertions(+) diff -

[PATCH v3 32/60] target/riscv: vector widening floating-point multiply

2020-03-09 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 5 + target/riscv/insn32.decode | 2 ++ target/riscv/insn_trans/trans_rvv.inc.c | 4 target/riscv/vector_helper.c| 22 ++ 4 files changed, 33 insertions(+) diff --git

[PATCH v2 3/4] virtio-net: implement RX RSS processing

2020-03-09 Thread Yuri Benditovich
If VIRTIO_NET_F_RSS negotiated and RSS is enabled, process incoming packets, calculate packet's hash and place the packet into respective RX virtqueue. Signed-off-by: Yuri Benditovich --- hw/net/virtio-net.c| 86 +- include/hw/virtio/virtio-net.h | 1

[PATCH v2 4/4] virtio-net: block migration if RSS feature negotiated

2020-03-09 Thread Yuri Benditovich
Block migration for reference implementation of RSS feature in QEMU. When we add support for RSS on backend side, we'll implement migration of current RSS settings. Signed-off-by: Yuri Benditovich --- hw/net/virtio-net.c| 18 ++ include/hw/virtio/virtio-net.h | 1 +

Re: [PATCH] dp8393x: Mask EOL bit from descriptor addresses, take 2

2020-03-09 Thread Laurent Vivier
Le 09/03/2020 à 03:51, Jason Wang a écrit : > > On 2020/3/8 下午5:52, Laurent Vivier wrote: >> Le 04/03/2020 à 04:23, Finn Thain a écrit : >>> A portion of a recent patch got lost due to a merge snafu. That patch is >>> now commit 88f632fbb1 ("dp8393x: Mask EOL bit from descriptor >>> addresses"). >

Re: [PATCH] maint: Include top-level *.rst files early in git diff

2020-03-09 Thread Laurent Vivier
Le 20/02/2020 à 17:22, Eric Blake a écrit : > We are converting more doc files to *.rst rather than *.texi. Most > doc files are already listed early in diffs due to our catchall > docs/*, but a few top-level files get missed by that glob. > > Signed-off-by: Eric Blake > --- > > Both *.texi and

Re: [PATCH v2 0/4] reference implementation of RSS

2020-03-09 Thread no-reply
Patchew URL: https://patchew.org/QEMU/20200309083438.2389-1-yuri.benditov...@daynix.com/ Hi, This series failed the docker-clang@ubuntu build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BE

[PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Pan Nengyuan
'type/id' forgot to free in qmp_object_add, this patch fix that. The leak stack: Direct leak of 84 byte(s) in 6 object(s) allocated from: #0 0x7fe2a5ebf768 in __interceptor_malloc (/lib64/libasan.so.5+0xef768) #1 0x7fe2a505 in g_malloc (/lib64/libglib-2.0.so.0+0x52445) #2 0x7fe2a50

Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()

2020-03-09 Thread Laurent Vivier
Le 07/03/2020 à 11:39, Marc-André Lureau a écrit : > Hi > > On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan wrote: >> >> Fix a memory leak in qdev_get_gpio_out_connector(). >> >> Reported-by: Euler Robot >> Signed-off-by: Pan Nengyuan > > good catch, > Reviewed-by: Marc-André Lureau trivial ques

Re: 回复: [PATCH] mem-prealloc: initialize cond and mutex(Internet mail)

2020-03-09 Thread Christian Borntraeger
On 06.03.20 10:57, bauerchen(陈蒙蒙) wrote: > Very sorry for my fault, in fact,I test  in a old qemu version ,and patch > generated based a new one ;  > All in all,its my fault, and I will check and test patch carefully In the > future > If I  need to  submit the patch again ? Can you test and rev

[PATCH v3 00/60] target/riscv: support vector extension v0.7.1

2020-03-09 Thread LIU Zhiwei
This patchset implements the vector extension for RISC-V on QEMU. You can also find the patchset and all *test cases* in my repo(https://github.com/romanheros/qemu.git branch:vector-upstream-v3). All the test cases are in the directory qemu/tests/riscv/vector/. They are riscv64 linux user mode pro

[PATCH v3 01/60] target/riscv: add vector extension field in CPURISCVState

2020-03-09 Thread LIU Zhiwei
The 32 vector registers will be viewed as a continuous memory block. It avoids the convension between element index and (regno, offset). Thus elements can be directly accessed by offset from the first vector base address. Signed-off-by: LIU Zhiwei Acked-by: Alistair Francis Reviewed-by: Richard

[PATCH v3 02/60] target/riscv: implementation-defined constant parameters

2020-03-09 Thread LIU Zhiwei
vlen is the vector register length in bits. elen is the max element size in bits. vext_spec is the vector specification version, default value is v0.7.1. Signed-off-by: LIU Zhiwei Reviewed-by: Alistair Francis Reviewed-by: Richard Henderson --- target/riscv/cpu.c | 7 +++ target/riscv/cpu.

[PATCH v3 03/60] target/riscv: support vector extension csr

2020-03-09 Thread LIU Zhiwei
The v0.7.1 specification does not define vector status within mstatus. A future revision will define the privileged portion of the vector status. Signed-off-by: LIU Zhiwei --- target/riscv/cpu_bits.h | 15 + target/riscv/csr.c | 75 - 2 files

Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via

2020-03-09 Thread Peter Maydell
On Mon, 9 Mar 2020 at 00:56, Pan Nengyuan wrote: > > > > On 3/8/2020 9:29 PM, Peter Maydell wrote: > > On Thu, 5 Mar 2020 at 06:39, Pan Nengyuan wrote: > >> -/* Init VIAs 1 and 2 */ > >> -sysbus_init_child_obj(OBJECT(dev), "via1", &m->mos6522_via1, > >> - sizeof(m

Re: [PATCH V4 0/5] Introduce Advanced Watch Dog module

2020-03-09 Thread Zhang, Chen
On 3/4/2020 9:37 PM, Paolo Bonzini wrote: On 04/03/20 09:06, Zhang, Chen wrote: Hi Eric and Paolo, Can you give some comments about this series? No news for a while... We already have some users(Cloud Service Provider) try to use is module in their product. But they also need to follow the

Re: [PATCH v6 17/18] docs: Add protvirt docs

2020-03-09 Thread Janosch Frank
On 3/4/20 8:09 PM, David Hildenbrand wrote: > On 04.03.20 12:42, Janosch Frank wrote: >> Lets add some documentation for the Protected VM functionality. >> >> Signed-off-by: Janosch Frank >> --- >> docs/system/index.rst| 1 + >> docs/system/protvirt.rst | 57 +

Re: [PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Igor Mammedov
On Mon, 9 Mar 2020 17:22:12 +0800 Pan Nengyuan wrote: > 'type/id' forgot to free in qmp_object_add, this patch fix that. > > The leak stack: > Direct leak of 84 byte(s) in 6 object(s) allocated from: > #0 0x7fe2a5ebf768 in __interceptor_malloc (/lib64/libasan.so.5+0xef768) > #1 0x7fe2a50

Re: [PATCH 3/3] tests/docker: Install SASL library to extend code coverage on amd64

2020-03-09 Thread Daniel P . Berrangé
On Sat, Mar 07, 2020 at 06:22:22PM +0100, Philippe Mathieu-Daudé wrote: > Install the SASL library to build the VNC SASL auth protocol code. > > Signed-off-by: Philippe Mathieu-Daudé > --- > tests/docker/dockerfiles/debian-amd64.docker | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Daniel

Re: [PATCH v8 02/10] scripts: add coccinelle script to use auto propagated errp

2020-03-09 Thread Markus Armbruster
Suggest scripts: Coccinelle script to use auto-propagated errp or scripts: Coccinelle script to use ERRP_AUTO_PROPAGATE() Vladimir Sementsov-Ogievskiy writes: > Script adds ERRP_AUTO_PROPAGATE macro invocation where appropriate and > does corresponding changes in code (look for detail

Re: [PATCH 2/3] configure: Fix building with SASL on Windows

2020-03-09 Thread Daniel P . Berrangé
On Sat, Mar 07, 2020 at 06:22:21PM +0100, Philippe Mathieu-Daudé wrote: > The Simple Authentication and Security Layer (SASL) library > re-defines the struct iovec on Win32 [*]. QEMU also re-defines > it in "qemu/osdep.h". The two definitions then clash on a MinGW > build. > We can avoid the SASL d

[PATCH v2] stdvga+bochs-display: add dummy mmio handler

2020-03-09 Thread Gerd Hoffmann
The bochs-display mmio bar has some sub-regions with the actual hardware registers. What happens when the guest access something outside those regions depends on the archirecture. On x86 those reads succeed (and return 0xff I think). On risc-v qemu aborts. This patch adds handlers for the paren

Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via

2020-03-09 Thread Pan Nengyuan
On 3/9/2020 5:21 PM, Peter Maydell wrote: > On Mon, 9 Mar 2020 at 00:56, Pan Nengyuan wrote: >> >> >> >> On 3/8/2020 9:29 PM, Peter Maydell wrote: >>> On Thu, 5 Mar 2020 at 06:39, Pan Nengyuan wrote: -/* Init VIAs 1 and 2 */ -sysbus_init_child_obj(OBJECT(dev), "via1", &m->mos

[PATCH v5 0/5] vhost-user block device backend implementation

2020-03-09 Thread Coiby Xu
v5: * re-use vu_kick_cb in libvhost-user * keeping processing VhostUserMsg in the same coroutine until there is detachment/attachment of AIOContext * Spawn separate coroutine for each VuVirtqElement * Other changes including relocating vhost-user-blk-server.c, coding style etc. v4: * ad

[PATCH v5 4/5] a standone-alone tool to directly share disk image file via vhost-user protocol

2020-03-09 Thread Coiby Xu
vhost-user-blk could have played as vhost-user backend but it only supports raw file and don't support VIRTIO_BLK_T_DISCARD and VIRTIO_BLK_T_WRITE_ZEROES operations on raw file (ioctl(fd, BLKDISCARD) is only valid for real block device). Kevin's qemu-storage-daemon will be used to replace this too

Re: [PATCH] mem-prealloc: initialize cond and mutex

2020-03-09 Thread Igor Mammedov
On Fri, 6 Mar 2020 03:50:14 -0500 Christian Borntraeger wrote: > Guests with mem-prealloc do fail with > qemu-system-s390x: /home/cborntra/REPOS/qemu/util/qemu-thread-posix.c:76: > qemu_mutex_lock_impl: Assertion `mutex->initialized' failed. > qemu-system-s390x: /home/cborntra/REPOS/qemu/util/q

[PATCH v5 3/5] vhost-user block device backend server

2020-03-09 Thread Coiby Xu
By making use of libvhost, multiple block device drives can be exported and each drive can serve multiple clients simultaneously. Since vhost-user-server needs a block drive to be created first, delay the creation of this object. Signed-off-by: Coiby Xu --- block/Makefile.objs |

[PATCH v5 1/5] allow vu_message_read to be replaced

2020-03-09 Thread Coiby Xu
Allow vu_message_read to be replaced by one which will make use of the QIOChannel functions. Thus reading vhost-user message won't stall the guest. Remove watch for kick fd in vu_deinit. When QEMU as vhost-user client process is restarted in gdb, QEMU as vhost-user-server will still dispatch the e

[PATCH v5 5/5] new qTest case to test the vhost-user-blk-server

2020-03-09 Thread Coiby Xu
This test case has the same tests as tests/virtio-blk-test.c except for tests have block_resize. Signed-off-by: Coiby Xu --- tests/Makefile.include | 3 +- tests/qtest/Makefile.include| 2 + tests/qtest/libqos/vhost-user-blk.c | 126 + tests/qtest/libqos/vhost-user-b

[PATCH v5 2/5] generic vhost user server

2020-03-09 Thread Coiby Xu
Sharing QEMU devices via vhost-user protocol Signed-off-by: Coiby Xu --- util/Makefile.objs | 3 + util/vhost-user-server.c | 360 +++ util/vhost-user-server.h | 57 ++ 3 files changed, 420 insertions(+) create mode 100644 util/vhost-user-server.

Re: [PATCH] mem-prealloc: initialize cond and mutex

2020-03-09 Thread Paolo Bonzini
On 09/03/20 11:03, Igor Mammedov wrote: >> +qemu_cond_init(&page_cond); >> +qemu_mutex_init(&page_mutex); > Is it possible for touch_all_pages to be called several times? > If it's then it probably needs a guard against that to make > sure it won't explode, something like: > > static bool

Re: [PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Markus Armbruster
Cc'ing Kevin in the hope of a review. Pan Nengyuan writes: > 'type/id' forgot to free in qmp_object_add, this patch fix that. > > The leak stack: > Direct leak of 84 byte(s) in 6 object(s) allocated from: > #0 0x7fe2a5ebf768 in __interceptor_malloc (/lib64/libasan.so.5+0xef768) > #1 0x7f

Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via

2020-03-09 Thread Peter Maydell
On Mon, 9 Mar 2020 at 10:02, Pan Nengyuan wrote: > On 3/9/2020 5:21 PM, Peter Maydell wrote: > > Could you explain more? My thought is that we should be using > > sysbus_init_child_obj() and we should be doing it in the init method. > > Why does that break the tests ? It's the same thing various o

Re: [PATCH] usb-serial: wakeup device on input

2020-03-09 Thread Gerd Hoffmann
On Fri, Mar 06, 2020 at 09:09:17AM -0500, Jason Andryuk wrote: > Currently usb-serial devices are unable to send data into guests with > the xhci controller. Data is copied into the usb-serial's buffer, but > it is not sent into the guest. Data coming out of the guest works > properly. usb-seria

Re: [PATCH v2 12/13] usb/hcd-ehci: Remove redundant statements

2020-03-09 Thread Gerd Hoffmann
On Wed, Feb 26, 2020 at 04:46:46PM +0800, kuhn.chen...@huawei.com wrote: > From: Chen Qun > > The "again" assignment is meaningless before g_assert_not_reached. > In addition, the break statements no longer needs to be after > g_assert_not_reached. > > Clang static code analyzer show warning: >

Re: [PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Daniel P . Berrangé
On Mon, Mar 09, 2020 at 10:51:45AM +0100, Igor Mammedov wrote: > On Mon, 9 Mar 2020 17:22:12 +0800 > Pan Nengyuan wrote: > > > 'type/id' forgot to free in qmp_object_add, this patch fix that. > > > > The leak stack: > > Direct leak of 84 byte(s) in 6 object(s) allocated from: > > #0 0x7fe2a5

Re: [PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Pan Nengyuan
On 3/9/2020 5:51 PM, Igor Mammedov wrote: > On Mon, 9 Mar 2020 17:22:12 +0800 > Pan Nengyuan wrote: > >> 'type/id' forgot to free in qmp_object_add, this patch fix that. >> >> The leak stack: >> Direct leak of 84 byte(s) in 6 object(s) allocated from: >> #0 0x7fe2a5ebf768 in __interceptor_

Re: [PATCH] qom-qmp-cmds: fix two memleaks in qmp_object_add

2020-03-09 Thread Pan Nengyuan
On 3/9/2020 6:15 PM, Daniel P. Berrangé wrote: > On Mon, Mar 09, 2020 at 10:51:45AM +0100, Igor Mammedov wrote: >> On Mon, 9 Mar 2020 17:22:12 +0800 >> Pan Nengyuan wrote: >> >>> 'type/id' forgot to free in qmp_object_add, this patch fix that. >>> >>> The leak stack: >>> Direct leak of 84 byte(

[kvm-unit-tests PATCH v4 02/13] page_alloc: Introduce get_order()

2020-03-09 Thread Eric Auger
Compute the power of 2 order of a size. Use it in page_memalign. Other users are looming. Signed-off-by: Eric Auger --- lib/alloc_page.c | 7 ++- lib/alloc_page.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/alloc_page.c b/lib/alloc_page.c index ed23638..7c8461a 1

[kvm-unit-tests PATCH v4 00/13] arm/arm64: Add ITS tests

2020-03-09 Thread Eric Auger
This series is a revival of an RFC series sent in Dec 2016 [1]. Given the amount of code and the lack of traction at that time, I haven't respinned until now. However a recent bug found related to the ITS migration convinced me that this work may deserve to be respinned and enhanced. Tests exercis

[kvm-unit-tests PATCH v4 01/13] libcflat: Add other size defines

2020-03-09 Thread Eric Auger
Introduce additional SZ_256, SZ_8K, SZ_16K macros that will be used by ITS tests. Signed-off-by: Eric Auger Reviewed-by: Thomas Huth --- lib/libcflat.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/libcflat.h b/lib/libcflat.h index ea19f61..7092af2 100644 --- a/lib/libcflat.h +++ b

[kvm-unit-tests PATCH v4 13/13] arm/arm64: ITS: pending table migration test

2020-03-09 Thread Eric Auger
Add two new migration tests. One testing the migration of a topology where collection were unmapped. The second test checks the migration of the pending table. Signed-off-by: Eric Auger --- v3 -> v4: - do not talk about odd/even CPUs, use pe0 and pe1 - comment the delay v2 -> v3: - tests belon

[kvm-unit-tests PATCH v4 03/13] arm/arm64: gic: Introduce setup_irq() helper

2020-03-09 Thread Eric Auger
ipi_enable() code would be reusable for other interrupts than IPI. Let's rename it setup_irq() and pass an interrupt handler pointer. Signed-off-by: Eric Auger --- v2 -> v3: - do not export setup_irq anymore --- arm/gic.c | 20 +++- 1 file changed, 7 insertions(+), 13 deletions

[kvm-unit-tests PATCH v4 05/13] arm/arm64: gicv3: Set the LPI config and pending tables

2020-03-09 Thread Eric Auger
Allocate the LPI configuration and per re-distributor pending table. Set redistributor's PROPBASER and PENDBASER. The LPIs are enabled by default in the config table. Also introduce a helper routine that allows to set the pending table bit for a given LPI. Signed-off-by: Eric Auger --- v2 -> v

[kvm-unit-tests PATCH v4 08/13] arm/arm64: ITS: Device and collection Initialization

2020-03-09 Thread Eric Auger
Introduce an helper functions to register - a new device, characterized by its device id and the max number of event IDs that dimension its ITT (Interrupt Translation Table). The function allocates the ITT. - a new collection, characterized by its ID and the target processing engine (PE).

[kvm-unit-tests PATCH v4 09/13] arm/arm64: ITS: Commands

2020-03-09 Thread Eric Auger
Implement main ITS commands. The code is largely inherited from the ITS driver. Signed-off-by: Eric Auger --- v3 -> v4: - device's itt now is a VGA - pass verbose to choose whether we shall print the cmd - use printf instead of report_info v2 -> v3: - do not use report() anymore - assert if cm

[kvm-unit-tests PATCH v4 04/13] arm/arm64: gicv3: Add some re-distributor defines

2020-03-09 Thread Eric Auger
PROPBASER, PENDBASE and GICR_CTRL will be used for LPI management. Signed-off-by: Eric Auger Reviewed-by: Zenghui Yu --- v3 -> v4: - replace some spaces by tabs and added Zenghui's R-b --- lib/arm/asm/gic-v3.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/lib/arm/asm/gic-v3.h b/li

[kvm-unit-tests PATCH v4 12/13] arm/arm64: ITS: migration tests

2020-03-09 Thread Eric Auger
This test maps LPIs (populates the device table, the collection table, interrupt translation tables, configuration table), migrates and make sure the translation is correct on the destination. Signed-off-by: Eric Auger --- v3 -> v4: - assert in its_get_device/collection if the id is not found -

[kvm-unit-tests PATCH v4 06/13] arm/arm64: ITS: Introspection tests

2020-03-09 Thread Eric Auger
Detect the presence of an ITS as part of the GICv3 init routine, initialize its base address and read few registers the IIDR, the TYPER to store its dimensioning parameters. Parse the BASER registers. As part of the init sequence we also init all the requested tables. This is our first ITS test, b

  1   2   3   4   5   6   >