[Qemu-devel] [PATCH v4 0/3] virtio_net: allow hypervisor to indicate linkspeed and duplex setting

2018-01-05 Thread Jason Baron via Qemu-devel
We have found it useful to be able to set the linkspeed and duplex settings from the host-side for virtio_net. This obviates the need for guest changes and settings for these fields, and does not require custom ethtool commands for virtio_net. The ability to set linkspeed and duplex is useful in v

[Qemu-devel] [PATCH v4 2/3] qemu: virtio-net: use 64-bit values for feature flags

2018-01-05 Thread Jason Baron via Qemu-devel
In prepartion for using some of the high order feature bits, make sure that virtio-net uses 64-bit values everywhere. Signed-off-by: Jason Baron Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: virtio-...@lists.oasis-open.org --- hw/net/virtio-net.c| 55 +

[Qemu-devel] [PATCH net-next v4 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor

2018-01-05 Thread Jason Baron via Qemu-devel
The ability to set speed and duplex for virtio_net is useful in various scenarios as described here: 16032be virtio_net: add ethtool support for set and get of settings However, it would be nice to be able to set this from the hypervisor, such that virtio_net doesn't require custom guest ethtool

[Qemu-devel] [PATCH v4 3/3] qemu: add linkspeed and duplex settings to virtio-net

2018-01-05 Thread Jason Baron via Qemu-devel
Although linkspeed and duplex can be set in a linux guest via 'ethtool -s', this requires custom ethtool commands for virtio-net by default. Introduce a new feature flag, VIRTIO_NET_F_SPEED_DUPLEX, which allows the hypervisor to export a linkspeed and duplex setting. The user can subsequently over

[Qemu-devel] [PATCH v7 00/20] add byte-based block_status driver callbacks

2018-01-05 Thread Eric Blake
There are patches floating around to add NBD_CMD_BLOCK_STATUS, but NBD wants to report status on byte granularity (even if the reporting will probably be naturally aligned to sectors or even much higher levels). I've therefore started the task of converting our block status code to report at a byt

[Qemu-devel] [PATCH v7 03/20] file-posix: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the file protocol driver accordingly. In want_zero mode, we continue to report fine-grained hole information (the caller wants as much mapping detail as possible); but when not in that mode, the caller prefers l

[Qemu-devel] [PATCH v7 07/20] iscsi: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the iscsi driver accordingly. In this case, it is handy to teach iscsi_co_block_status() to handle a NULL map and file parameter, even though the block layer passes non-NULL values, because we also call the func

[Qemu-devel] [PATCH v7 02/20] block: Switch passthrough drivers to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the generic helpers, and all passthrough clients (blkdebug, commit, mirror, throttle) accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng --- v6-v7: no cha

[Qemu-devel] [PATCH v7 05/20] iscsi: Switch cluster_sectors to byte-based

2018-01-05 Thread Eric Blake
We are gradually converting to byte-based interfaces, as they are easier to reason about than sector-based. Convert all uses of the cluster size in sectors, along with adding assertions that we are not dividing by zero. Improve some comment grammar while in the area. Signed-off-by: Eric Blake A

[Qemu-devel] [PATCH v7 01/20] block: Add .bdrv_co_block_status() callback

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Now that the block layer exposes byte-based allocation, it's time to tackle the drivers. Add a new callback that operates on as small as byte boundaries. Subsequent patches will then update individual drivers, then fina

[Qemu-devel] [PATCH v7 11/20] qcow2: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the qcow2 driver accordingly. For now, we are ignoring the 'want_zero' hint. However, it should be relatively straightforward to honor the hint as a way to return larger *pnum values when we have consecutive cl

[Qemu-devel] [PATCH v7 04/20] gluster: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the gluster driver accordingly. In want_zero mode, we continue to report fine-grained hole information (the caller wants as much mapping detail as possible); but when not in that mode, the caller prefers larger

[Qemu-devel] [PATCH v7 06/20] iscsi: Switch iscsi_allocmap_update() to byte-based

2018-01-05 Thread Eric Blake
We are gradually converting to byte-based interfaces, as they are easier to reason about than sector-based. Convert all uses of the allocmap (no semantic change). Callers that already had bytes available are simpler, and callers that now scale to bytes will be easier to switch to byte-based in th

[Qemu-devel] [PATCH v7 13/20] raw: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the raw driver accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng --- v5-v7: no change v4: rebase to interface tweak v3: no change v2: rebase to mapping -

[Qemu-devel] [PATCH v7 09/20] parallels: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the parallels driver accordingly. Note that the internal function block_status() is still sector-based, because it is still in use by other sector-based functions; but that's okay because request_alignment is 51

[Qemu-devel] [PATCH v7 14/20] sheepdog: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the sheepdog driver accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng Reviewed-by: Jeff Cody --- v7: rebase to minor spacing changes in master v5-v6: no

[Qemu-devel] [PATCH v7 08/20] null: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the null driver accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng --- v6-v7: no change v5: minor fix to type of 'ret' v4: rebase to interface tweak v3: n

[Qemu-devel] [PATCH v7 12/20] qed: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the qed driver accordingly, taking the opportunity to inline qed_is_allocated_cb() into its lone caller (the callback used to be important, until we switched qed to coroutines). There is no intent to optimize ba

[Qemu-devel] [PATCH v7 17/20] vmdk: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the vmdk driver accordingly. Drop the now-unused vmdk_find_index_in_cluster(). Also, fix a pre-existing bug: if find_extent() fails (unlikely, since the block layer did a bounds check), then we must return a fa

[Qemu-devel] [PATCH v7 18/20] vpc: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the vpc driver accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- v7: tweak commit message and type of 'n' [Fam] v6: no change v5: fix incorrect rounding in 'map' and bad loo

[Qemu-devel] [PATCH v7 10/20] qcow: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the qcow driver accordingly. There is no intent to optimize based on the want_zero flag for this format. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng --- v5-v7:

[Qemu-devel] [PATCH v7 19/20] vvfat: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the vvfat driver accordingly. Note that we can rely on the block driver having already clamped limits to our block size, and simplify accordingly. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogie

[Qemu-devel] [PATCH v7 20/20] block: Drop unused .bdrv_co_get_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Now that all drivers have been updated to provide the byte-based .bdrv_co_block_status(), we can delete the sector-based interface. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam

[Qemu-devel] [PATCH v7 15/20] vdi: Avoid bitrot of debugging code

2018-01-05 Thread Eric Blake
Rework the debug define so that we always get -Wformat checking, even when debugging is disabled. Signed-off-by: Eric Blake Reviewed-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fam Zheng --- v2-v7: no change --- block/vdi.c | 12

[Qemu-devel] [PATCH v7 16/20] vdi: Switch to .bdrv_co_block_status()

2018-01-05 Thread Eric Blake
We are gradually moving away from sector-based interfaces, towards byte-based. Update the vdi driver accordingly. Note that the TODO is already covered (the block layer guarantees bounds of its requests), and that we can remove the now-unused s->block_sectors. Signed-off-by: Eric Blake Reviewed

[Qemu-devel] [PATCH 0/1] Check SMT based on KVM_CAP_PPC_SMT_POSSIBLE

2018-01-05 Thread Jose Ricardo Ziviani
If one defines a P9 guest like -smp sockets=1,cores=1,threads=8 QEMU will silently changes threads to 4: (guest) # lscpu Architecture: ppc64le Byte Order:Little Endian CPU(s):4 On-line CPU(s) list: 0-3 Thread(s) per core:4 Core(s) per socket:1 Socket

[Qemu-devel] [PATCH 1/1] spapr: Check SMT based on KVM_CAP_PPC_SMT_POSSIBLE

2018-01-05 Thread Jose Ricardo Ziviani
Power9 supports 4 HW threads/core but it's possible to emulate doorbells to implement virtual SMT. KVM has the KVM_CAP_PPC_SMT_POSSIBLE which returns a bitmap with all SMT modes supported by the host. Today, QEMU forces the SMT mode based on PVR compat table, this is silently done in spapr_fixup_c

[Qemu-devel] [PULL 00/12] 9p patches for 2.12 20170106

2018-01-05 Thread Greg Kurz
The following changes since commit 281f327487c9c9b1599f93c589a408bbf4a651b8: Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.12-pull-request' into staging (2017-12-22 00:11:36 +) are available in the git repository at: https://github.com/gkurz/qemu.git tags/for-upstream fo

[Qemu-devel] [PULL 03/12] fsdev: fix some type definitions

2018-01-05 Thread Greg Kurz
To comply with the QEMU coding style. Signed-off-by: Greg Kurz --- fsdev/file-op-9p.h | 27 --- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 05b3ef357462..63d19a6dcd0e 100644 --- a/fsdev/file-op-9p.h +++ b/f

[Qemu-devel] [PULL 02/12] 9pfs: fix XattrOperations typedef

2018-01-05 Thread Greg Kurz
To comply with the QEMU coding style. Signed-off-by: Greg Kurz --- fsdev/file-op-9p.h | 5 +++-- hw/9pfs/9p-xattr.h | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 474c79d003f6..05b3ef357462 100644 --- a/fsdev/file-op-9p.h +

[Qemu-devel] [PULL 05/12] 9pfs: handle: fix type definition

2018-01-05 Thread Greg Kurz
To comply with the QEMU coding style. Signed-off-by: Greg Kurz --- hw/9pfs/9p-handle.c | 48 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c index 9875f1894cc5..65b12de230c1 100644 --- a/hw

[Qemu-devel] [PULL 04/12] 9pfs: fix some type definitions

2018-01-05 Thread Greg Kurz
To comply with the QEMU coding style. Signed-off-by: Greg Kurz --- hw/9pfs/9p.c | 6 +++--- hw/9pfs/9p.h | 12 ++-- hw/9pfs/virtio-9p-device.c | 2 +- hw/9pfs/xen-9p-backend.c | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hw/9pf

[Qemu-devel] [PULL 09/12] tests: virtio-9p: fix ISR dependence

2018-01-05 Thread Greg Kurz
Like other virtio tests, use the used ring APIs instead of assuming ISR being set means the request has completed. Signed-off-by: Greg Kurz Reviewed-by: Stefan Hajnoczi --- tests/virtio-9p-test.c | 30 +++--- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git

[Qemu-devel] [PULL 06/12] 9pfs: fix type in *_parse_opts declarations

2018-01-05 Thread Greg Kurz
To comply with the QEMU coding style. Signed-off-by: Greg Kurz Reviewed-by: Eric Blake --- hw/9pfs/9p-handle.c | 2 +- hw/9pfs/9p-local.c | 2 +- hw/9pfs/9p-proxy.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c index 65b12de23

[Qemu-devel] [PULL 11/12] fsdev: improve error handling of backend opts parsing

2018-01-05 Thread Greg Kurz
This patch changes some error messages in the backend opts parsing code and convert backends to propagate QEMU Error objects instead of calling error_report(). Signed-off-by: Greg Kurz --- fsdev/file-op-9p.h | 2 +- fsdev/qemu-fsdev.c | 4 +++- hw/9pfs/9p-handle.c | 2 +- hw/9pfs/9p-local.c

[Qemu-devel] [PULL 10/12] tests: virtio-9p: set DRIVER_OK before using the device

2018-01-05 Thread Greg Kurz
Signed-off-by: Greg Kurz --- tests/virtio-9p-test.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/virtio-9p-test.c b/tests/virtio-9p-test.c index ebd24b20f657..00f00f7246e9 100644 --- a/tests/virtio-9p-test.c +++ b/tests/virtio-9p-test.c @@ -75,6 +75,9 @@ static QVirtIO9P *qvirtio_

[Qemu-devel] [PULL 12/12] fsdev: improve error handling of backend init

2018-01-05 Thread Greg Kurz
This patch changes some error messages in the backend init code and convert backends to propagate QEMU Error objects instead of calling error_report(). One notable improvement is that the local backend now provides a more detailed error report when it fails to open the shared directory. Signed-of

[Qemu-devel] [PULL 08/12] 9pfs: make pdu_marshal() and pdu_unmarshal() static functions

2018-01-05 Thread Greg Kurz
They're only used by the 9p core code. Signed-off-by: Greg Kurz Reviewed-by: Eric Blake --- hw/9pfs/9p.c | 4 ++-- hw/9pfs/9p.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 558efb41defd..1e4ebbe57687 100644 --- a/hw/9pfs/9p.c +++ b/hw/

[Qemu-devel] [PULL 07/12] 9pfs: fix error path in pdu_submit()

2018-01-05 Thread Greg Kurz
If we receive an unsupported request id, we first decide to return -ENOTSUPP to the client, but since the request id causes is_read_only_op() to return false, we change the error to be -EROFS if the fsdev is read-only. This doesn't make sense since we don't know what the client asked for. This pat

[Qemu-devel] [PULL 01/12] virtio-9p: move unrealize/realize after virtio_9p_transport definition

2018-01-05 Thread Greg Kurz
And drop the now useless forward declaration of virtio_9p_transport. Signed-off-by: Greg Kurz --- hw/9pfs/virtio-9p-device.c | 60 ++ 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.

Re: [Qemu-devel] [RFC PATCH 3/6] hw/char/cadence_uart: add FDT aliases

2018-01-05 Thread Alistair Francis
On Thu, Jan 4, 2018 at 6:40 AM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > hw/char/cadence_uart.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c > index

Re: [Qemu-devel] [RFC PATCH 6/6] hw/arm/xlnx-zynq: use FDT names for the Cadence GEM

2018-01-05 Thread Alistair Francis
On Thu, Jan 4, 2018 at 6:40 AM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > hw/arm/xilinx_zynq.c | 1 + > hw/arm/xlnx-zynqmp.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/xilinx_zyn

Re: [Qemu-devel] [RFC PATCH 5/6] hw/net/cadence_gem: add FDT names as alias

2018-01-05 Thread Alistair Francis
On Thu, Jan 4, 2018 at 6:40 AM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > hw/net/cadence_gem.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > index 3943187

Re: [Qemu-devel] [RFC PATCH 4/6] arm/xlnx-zynq: use FDT names for the Cadence UART

2018-01-05 Thread Alistair Francis
On Thu, Jan 4, 2018 at 6:40 AM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > hw/arm/xilinx_zynq.c | 1 + > hw/arm/xlnx-zynqmp.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/xilinx_zyn

Re: [Qemu-devel] MTTCG External Halt

2018-01-05 Thread Alistair Francis
On Thu, Jan 4, 2018 at 3:08 AM, Alex Bennée wrote: > > Alistair Francis writes: > >> Hey guys, I'm super stuck with an ugly MTTCG issue and was wondering >> if anyone had any ideas. >> >> In the Xilinx fork of QEMU (based on 2.11) we have a way for CPUs to >> halt other CPUs. This is used for exa

Re: [Qemu-devel] [PATCH 2/6] hw/sd/milkymist-memcard: split realize() out of SysBusDevice init()

2018-01-05 Thread Alistair Francis
On Wed, Jan 3, 2018 at 8:23 AM, Philippe Mathieu-Daudé wrote: > Create the SDCard in the realize() function. > > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Alistair > --- > hw/sd/milkymist-memcard.c | 24 +++- > 1 file changed, 15 insertions(+), 9

Re: [Qemu-devel] [PATCH 6/6] hw/sd: move sdcard legacy API to "hw/sd/sdcard_legacy.h"

2018-01-05 Thread Alistair Francis
On Wed, Jan 3, 2018 at 8:24 AM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé > --- > roughly 2 users left. Exciting! Reviewed-by: Alistair Francis Alistair > > include/hw/sd/sd.h| 17 --- > include/hw/sd/sdcard_legacy.h | 51 > +

[Qemu-devel] [PATCH v8 01/23] tcg: Allow multiple word entries into the constant pool

2018-01-05 Thread Richard Henderson
This will be required for storing vector constants. Signed-off-by: Richard Henderson --- tcg/tcg-pool.inc.c | 115 +++-- 1 file changed, 93 insertions(+), 22 deletions(-) diff --git a/tcg/tcg-pool.inc.c b/tcg/tcg-pool.inc.c index 8a85131405..0f76e

[Qemu-devel] [PATCH v8 00/23] tcg: generic vector operations

2018-01-05 Thread Richard Henderson
Minor changes since v7: * Rearranged the patches into groups for readability. * Squished the tcg/i386 patches. * Fixed an encoding bug for vmovd xmm, reg (Kirill). * Fixed expansion bugs for i386 sar, trn. Minor changes since v6: * Two bugs fixed pointed out by Kirill. * Allow for 4 an

[Qemu-devel] [PATCH v8 05/23] tcg: Add generic vector ops for interleave

2018-01-05 Thread Richard Henderson
Includes zip, unzip, and transform. Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 15 ++ tcg/tcg-op-gvec.h| 17 +++ tcg/tcg-op.h | 6 + tcg/tcg-opc.h| 7 + tcg/tcg.h| 3 + accel/tcg/tcg-runtime-gvec.c |

[Qemu-devel] [PATCH v8 09/23] tcg: Add generic vector ops for extension

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 8 +++ tcg/tcg-op-gvec.h| 9 +++ tcg/tcg-op.h | 5 ++ tcg/tcg-opc.h| 5 ++ tcg/tcg.h| 2 + accel/tcg/tcg-runtime-gvec.c | 26 tcg/tcg-op-gvec.c

[Qemu-devel] [PATCH v8 13/23] target/arm: Align vector registers

2018-01-05 Thread Richard Henderson
Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/arm/cpu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 96316700dd..3ff4dea6b8 100644 --- a/target/arm/cpu.h +++ b/target/arm/

[Qemu-devel] [PATCH v8 02/23] tcg: Add types and basic operations for host vectors

2018-01-05 Thread Richard Henderson
Nothing uses or enables them yet. Signed-off-by: Richard Henderson --- Makefile.target | 4 +- tcg/tcg-op.h | 30 + tcg/tcg-opc.h| 26 tcg/tcg.h| 56 + tcg/tcg-op-vec.c | 362 +++ tcg/tcg.c| 100 ++

[Qemu-devel] [PATCH v8 03/23] tcg: Standardize integral arguments to expanders

2018-01-05 Thread Richard Henderson
Some functions use intN_t arguments, some use uintN_t, some just used "unsigned". To aid putting function pointers in tables, we need consistency. Signed-off-by: Richard Henderson --- tcg/tcg-op.h | 16 tcg/tcg-op.c | 42 +- 2 files chang

[Qemu-devel] [PATCH v8 10/23] tcg: Add generic helpers for saturating arithmetic

2018-01-05 Thread Richard Henderson
No vector ops as yet. SSE only has direct support for 8- and 16-bit saturation; handling 32- and 64-bit saturation is much more expensive. Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 20 tcg/tcg-op-gvec.h| 10 ++ accel/tcg/tcg-runtime-gvec.c | 268

[Qemu-devel] [PATCH v8 17/23] target/arm: Use vector infrastructure for aa64 zip/uzp/trn/xtn

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 103 +++-- 1 file changed, 35 insertions(+), 68 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 55a4902fc2..8769b4505a 100644 --- a/target/arm/transla

[Qemu-devel] [PATCH v8 04/23] tcg: Add generic vector expanders

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- Makefile.target |2 +- accel/tcg/tcg-runtime.h | 29 + tcg/tcg-gvec-desc.h | 49 ++ tcg/tcg-op-gvec.h| 194 ++ tcg/tcg-op.h |1 + tcg/tcg-opc.h|6 + tcg/tcg.h

[Qemu-devel] [PATCH v8 08/23] tcg: Add generic vector ops for multiplication

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 5 + tcg/tcg-op-gvec.h| 2 ++ tcg/tcg-op.h | 1 + tcg/tcg-opc.h| 1 + tcg/tcg.h| 1 + accel/tcg/tcg-runtime-gvec.c | 44

[Qemu-devel] [PATCH v8 15/23] target/arm: Use vector infrastructure for aa64 mov/not/neg

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 43 ++- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 572af456d1..bc14c28e71 100644 --- a/target/arm/translate-a

[Qemu-devel] [PATCH v8 07/23] tcg: Add generic vector ops for comparisons

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 30 +++ tcg/tcg-op-gvec.h| 4 + tcg/tcg-op.h | 3 + tcg/tcg-opc.h| 2 + tcg/tcg.h| 1 + accel/tcg/tcg-runtime-gvec.c | 24 + tcg/tcg-op-gvec.c

[Qemu-devel] [PATCH v8 20/23] target/arm: Use vector infrastructure for aa64 multiplies

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 171 - 1 file changed, 138 insertions(+), 33 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 44e44cc9f2..48caba3d9f 100644 --- a/target/arm/transl

[Qemu-devel] [PATCH v8 14/23] target/arm: Use vector infrastructure for aa64 add/sub/logic

2018-01-05 Thread Richard Henderson
Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 207 + 1 file changed, 134 insertions(+), 73 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index ba94f7d045..572af456d1 1006

[Qemu-devel] [PATCH v8 16/23] target/arm: Use vector infrastructure for aa64 dup/movi

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 83 +++--- 1 file changed, 34 insertions(+), 49 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index bc14c28e71..55a4902fc2 100644 --- a/target/arm/transla

[Qemu-devel] [PATCH v8 19/23] target/arm: Use vector infrastructure for aa64 compares

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 96 ++ 1 file changed, 62 insertions(+), 34 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index d8bb3bbb25..44e44cc9f2 100644 --- a/target/arm/transla

[Qemu-devel] [PATCH v8 06/23] tcg: Add generic vector ops for constant shifts

2018-01-05 Thread Richard Henderson
Opcodes are added for scalar and vector shifts, but considering the varied semantics of these do not expose them to the front ends. Do go ahead and provide them in case they are needed for backend expansion. Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 15 ++ tcg/tcg-op-

[Qemu-devel] [PATCH v8 23/23] tcg/aarch64: Add vector operations

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- tcg/aarch64/tcg-target.h | 30 +- tcg/aarch64/tcg-target.opc.h | 3 + tcg/aarch64/tcg-target.inc.c | 674 --- 3 files changed, 660 insertions(+), 47 deletions(-) create mode 100644 tcg/aarch64/tcg-target.opc.h d

[Qemu-devel] [PATCH v8 18/23] target/arm: Use vector infrastructure for aa64 constant shifts

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 386 ++--- 1 file changed, 329 insertions(+), 57 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 8769b4505a..d8bb3bbb25 100644 --- a/target/arm/transl

[Qemu-devel] [PATCH v8 11/23] tcg: Add generic vector helpers with a scalar immediate operand

2018-01-05 Thread Richard Henderson
We already have immediate shifts. Add addition, multiplication, and logical operations with an immediate. Subtraction can thus be done with negation of the constant. Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime.h | 14 tcg/tcg-op-gvec.h| 22 - accel/tc

[Qemu-devel] [PATCH v8 21/23] target/arm: Use vector infrastructure for aa64 widening shifts

2018-01-05 Thread Richard Henderson
Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 29 - 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 48caba3d9f..4f15e58556 100644 --- a/target/arm/translate-a64.c +++ b/ta

[Qemu-devel] [PATCH v8 12/23] tcg/optimize: Handle vector opcodes during optimize

2018-01-05 Thread Richard Henderson
Trivial move and constant propagation. Some identity and constant function folding, but nothing that requires knowledge of the size of the vector element. Signed-off-by: Richard Henderson --- tcg/optimize.c | 141 - 1 file changed, 68 inse

[Qemu-devel] [PATCH v8 22/23] tcg/i386: Add vector operations

2018-01-05 Thread Richard Henderson
The x86 vector instruction set is extremely irregular. With newer editions, Intel has filled in some of the blanks. However, we don't get many 64-bit operations until SSE4.2, introduced in 2009. The subsequent edition was for AVX1, introduced in 2011, which added three-operand addressing, and ad

[Qemu-devel] [Bug 657006] Re: arm v7M - svc insn doesn't trigger PendSV handler

2018-01-05 Thread Launchpad Bug Tracker
[Expired for QEMU because there has been no activity for 60 days.] ** Changed in: qemu Status: Incomplete => Expired -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/657006 Title: arm v7M - sv

[Qemu-devel] [Bug 1739413] Re: Hotplugged vcpu does not guarantee cpu compat mode(power8) on power9 host

2018-01-05 Thread Satheesh Rajendran
Upstream patch from David Gibson @ https://lists.nongnu.org/archive/html /qemu-devel/2018-01/msg00587.html ** Changed in: qemu Status: New => In Progress -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.n

<    1   2