This tests that the backup job catches situations where the target node
has a different size than the source node. It must also forbid resize
operations when the job is already running.
Signed-off-by: Kevin Wolf
Message-Id: <20200430142755.315494-5-kw...@redhat.com>
Reviewed-by: Vladimir Sementso
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| 167 +++--
include/hw/virtio/virtio-net.h
If we have a backup L2 table, we currently flush once after writing to
the active L2 table and again after writing to the backup table. A
single flush is enough and makes things a little less slow.
Signed-off-by: Kevin Wolf
Message-Id: <20200430133007.170335-6-kw...@redhat.com>
Reviewed-by: Eric
Philippe Mathieu-Daudé writes:
> The CPU() macro is defined as:
>
> #define CPU(obj) ((CPUState *)(obj))
>
> which expands to:
>
> ((CPUState *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LINE__, __func__))
>
> This assertion can
From: Max Reitz
Calling bdrv_getlength() to get the pre-truncate file size will not
really work on block devices, because they have always the same length,
and trying to write beyond it will fail with a rather cryptic error
message.
Instead, we should use qcow2_get_last_cluster() and bdrv_getlen
Signed-off-by: Yuri Benditovich
---
net/tap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/tap.c b/net/tap.c
index 6207f61f84..ca48f2a285 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -254,7 +254,8 @@ static void tap_set_vnet_hdr_len(NetClientState *nc, int
len)
a
Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
features in QEMU for reference purpose.
Implements Toeplitz hash calculation for incoming
packets according to configuration provided by driver.
Uses calculated hash for decision on receive virtqueue
and/or reports the hash in the virtio hea
From: Eric Blake
The vhdx driver uses truncation for image growth, with a special case
for blocks that already read as zero but which are only being
partially written. But with a bit of rearranging, it's just as easy
to defer the decision on whether truncation resulted in zeroes to the
actual al
Since the introduction of a backup filter node in commit 00e30f05d, the
backup block job crashes when the target image is smaller than the
source image because it will try to write after the end of the target
node without having BLK_PERM_RESIZE. (Previously, the BlockBackend layer
would have caught
Suggest VIRTIO_NET_F_HASH_REPORT if specified in device
parameters.
If the VIRTIO_NET_F_HASH_REPORT is set,
the device extends configuration space. If the feature
is negotiated, the packet layout is extended to
accomodate the hash information. In this case deliver
packet's hash value and report typ
From: Eric Blake
Our .bdrv_has_zero_init_truncate can detect when the remote side
always zero fills; we can reuse that same knowledge to implement
BDRV_REQ_ZERO_WRITE by ignoring it when the server gives it to us for
free.
Signed-off-by: Eric Blake
Message-Id: <20200428202905.770727-7-ebl...@re
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| 88 +-
include/hw/virtio/virtio-net.h | 1
Save and restore RSS/hash report configuration.
Signed-off-by: Yuri Benditovich
---
hw/net/virtio-net.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 5facd333ce..c263b1511d 100644
--- a/hw/net/virtio-net
Marc-André Lureau 于2020年5月8日周五 下午8:32写道:
>
> Hi
>
> On Fri, May 8, 2020 at 7:14 AM Li Feng wrote:
> >
> > Root cause:
> > From `man recvmsg`, the RETURN VALUE says:
> > These calls return the number of bytes received, or -1 if an error
> > occurred.
> > In the event of an error, errno is set to
Save and restore RSS/hash report configuration.
Signed-off-by: Yuri Benditovich
---
hw/net/virtio-net.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 5facd333ce..c263b1511d 100644
--- a/hw/net/virtio-net
Philippe Mathieu-Daudé writes:
> The OBJECT() macro is defined as:
>
> #define OBJECT(obj) ((Object *)(obj))
>
> which expands to:
>
> ((Object *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LINE__, __func__))
Nope :)
> This asser
Please ignore mistaken v7 instead of v8
On Fri, May 8, 2020 at 3:54 PM Yuri Benditovich
wrote:
> Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
> features in QEMU for reference purpose.
> Implements Toeplitz hash calculation for incoming
> packets according to configuration provided b
Philippe Mathieu-Daudé writes:
> The DEVICE() macro is defined as:
>
> #define DEVICE(obj) OBJECT_CHECK(DeviceState, (obj), TYPE_DEVICE)
>
> which expands to:
>
> ((DeviceState *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LIN
> -Original Message-
> From: Michael S. Tsirkin [mailto:m...@redhat.com]
> Sent: Monday, May 4, 2020 10:03 PM
> To: miaoyubo
> Cc: peter.mayd...@linaro.org; shannon.zha...@gmail.com;
> ler...@redhat.com; imamm...@redhat.com; qemu-devel@nongnu.org;
> berra...@redhat.com; Xiexiangyou
> Subj
Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
features in QEMU for reference purpose.
Implements Toeplitz hash calculation for incoming
packets according to configuration provided by driver.
Uses calculated hash for decision on receive virtqueue
and/or reports the hash in the virtio hea
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| 88 +-
include/hw/virtio/virtio-net.h | 1
Similar to VMSTATE_VARRAY_UINT32_ALLOC, but the size is
16-bit field.
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Yuri Benditovich
---
include/migration/vmstate.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index
Peter Krempa writes:
> On Tue, Mar 17, 2020 at 12:54:25 +0100, Markus Armbruster wrote:
>> This series extends QMP introspection to cover deprecation.
>> Additionally, new option -compat lets you configure what to do when
>> deprecated interfaces get used. This is intended for testing users of
>
Removal of duplicated RSC definitions. Changing names of the
fields to ones defined in the Linux header.
Signed-off-by: Yuri Benditovich
---
hw/net/virtio-net.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-n
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| 167 +++--
include/hw/virtio/virtio-net.h
Removal of duplicated RSC definitions. Changing names of the
fields to ones defined in the Linux header.
Signed-off-by: Yuri Benditovich
---
hw/net/virtio-net.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-n
On 5/8/20 2:49 PM, Markus Armbruster wrote:
Philippe Mathieu-Daudé writes:
The OBJECT() macro is defined as:
#define OBJECT(obj) ((Object *)(obj))
which expands to:
((Object *)object_dynamic_cast_assert((Object *)(obj), (name),
__FILE__, __LINE
Signed-off-by: Yuri Benditovich
---
net/tap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/tap.c b/net/tap.c
index 6207f61f84..ca48f2a285 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -254,7 +254,8 @@ static void tap_set_vnet_hdr_len(NetClientState *nc, int
len)
a
Thanks so much for such a careful review!!
> -Original Message-
> From: Michael S. Tsirkin [mailto:m...@redhat.com]
> Sent: Monday, May 4, 2020 10:01 PM
> To: miaoyubo
> Cc: peter.mayd...@linaro.org; shannon.zha...@gmail.com;
> ler...@redhat.com; imamm...@redhat.com; qemu-devel@nongnu.org
Suggest VIRTIO_NET_F_HASH_REPORT if specified in device
parameters.
If the VIRTIO_NET_F_HASH_REPORT is set,
the device extends configuration space. If the feature
is negotiated, the packet layout is extended to
accomodate the hash information. In this case deliver
packet's hash value and report typ
Similar to VMSTATE_VARRAY_UINT32_ALLOC, but the size is
16-bit field.
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Yuri Benditovich
---
include/migration/vmstate.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index
On 5/7/20 10:32 PM, Alex Bennée wrote:
Peter Maydell writes:
On Thu, 7 May 2020 at 19:38, Alex Bennée wrote:
Philippe Mathieu-Daudé writes:
The BootLinuxAarch64.test_virt_tcg is reported to take >7min to run.
Add a possibility to users to skip this particular test, by setting
the AVOCA
> -Original Message-
> From: Michael S. Tsirkin [mailto:m...@redhat.com]
> Sent: Monday, May 4, 2020 10:03 PM
> To: miaoyubo
> Cc: peter.mayd...@linaro.org; shannon.zha...@gmail.com;
> ler...@redhat.com; imamm...@redhat.com; qemu-devel@nongnu.org;
> berra...@redhat.com; Xiexiangyou
> S
hello, is this ready to merge now?
On Mon, Apr 27, 2020 at 09:24:12PM +0800, Changbin Du wrote:
> I found SDL_GetWindowFromID() sometimes return NULL when I start qemu via
> ssh forwarding even the window has been crated already. I am not sure
> whether this is a bug of SDL, but we'd better check
On Fri, May 8, 2020 at 10:51 AM Peter Tribble wrote:
>
> I see the same behaviour as reported here when booting current SPARC illumos
> (illumos is the ongoing fork of OpenSolaris) under qemu - looks like it's
> booted
> up fine, but I can't type anything on the console.
There is one more option
On 5/8/20 5:49 AM, Markus Armbruster wrote:
Fixes: abc9bf69a66a11499a801ff545b8fe7adbb3a04c
Fixes: Coverity CID 1428754
Signed-off-by: Markus Armbruster
---
cpus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Eric Blake
diff --git a/cpus.c b/cpus.c
index 5670c96bcf
On 5/8/20 6:37 AM, Kevin Wolf wrote:
---
Makefile.objs | 2 +-
include/sysemu/blockdev.h | 14 ++
blockbitmaps.c| 324 ++
Hm. Can we get a better name? blockdev-bitmaps.c, for example?
Sure, I'm open to bike-shed suggesti
Hi Jean,
On 5/8/20 11:26 AM, Jean-Philippe Brucker wrote:
> On Thu, May 07, 2020 at 04:31:58PM +0200, Eric Auger wrote:
>> +static ssize_t virtio_iommu_fill_resv_mem_prop(VirtIOIOMMU *s, uint32_t ep,
>> + uint8_t *buf, size_t free)
>> +{
>> +struct
>> of a pending interrupt. It occurs on a SMP PowerNV machine when it is
>> stressed with IO, such as scp of a big file.
>>
>> I am suspecting more and more an issue with an interrupt being handled
>> when the CPU is coming out of idle. I haven't seen anything wrong in
>
> So you can't hit it w
Hello,
On 4/4/20 5:33 PM, Cédric Le Goater wrote:
> When recursing, the return value of do_object_child_foreach() is not
> taken into account.
>
> Cc: Peter Crosthwaite
> Fixes: d714b8de7747 ("qom: Add recursive version of object_child_for_each")
> Signed-off-by: Cédric Le Goater
What are the
On 5/8/20 8:52 AM, Joel Stanley wrote:
> On Mon, 4 May 2020 at 08:20, Joel Stanley wrote:
> ...
>
>> v3: Use WFI instead of WFE
>> v2: test for number of CPUs
>
>> +static void aspeed_write_smpboot(ARMCPU *cpu,
>> + const struct arm_boot_info *info)
>> +{
>> +
RHEL 6.6 and qemu-kvm 0.12 are *very* old, can't you update the machine
to a newer version? At least RHEL 6.10, or even better RHEL 7 or 8?
** Changed in: qemu
Status: New => Incomplete
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed t
No host backend support yet, but the interfaces for rotli
are in place. Canonicalize immediate rotate to the left,
based on a survey of architectures, but provide both left
and right shift interfaces to the translators.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
accel/tcg/tc
Split out from the v2 omnibus patch from 21 Apr.
No real changes, just a rebase on master.
r~
Richard Henderson (10):
tcg: Implement gvec support for rotate by immediate
tcg: Implement gvec support for rotate by vector
tcg: Remove expansion to shift by vector from do_shifts
tcg: Impleme
On Fri, 8 May 2020 at 13:41, Kevin Wolf wrote:
>
> The following changes since commit 1b8c45899715d292398152ba97ef755ccaf84680:
>
> Merge remote-tracking branch
> 'remotes/dgilbert/tags/pull-migration-20200507a' into staging (2020-05-07
> 18:43:20 +0100)
>
> are available in the Git repository
Cc: David Gibson
Signed-off-by: Richard Henderson
---
target/ppc/helper.h | 4
target/ppc/int_helper.c | 17 -
target/ppc/translate/vmx-impl.inc.c | 8
3 files changed, 4 insertions(+), 25 deletions(-)
diff --git a/target/ppc/helper.h
No host backend support yet, but the interfaces for rotls
are in place. Only implement left-rotate for now, as the
only known use of vector rotate by scalar is s390x, so any
right-rotate would be unused and untestable.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
include/tcg/t
For immediates, we must continue the special casing of 8-bit
elements. The other element sizes and shift types are trivially
implemented with shifts.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.inc.c | 116 --
1 file changed, 100 insertions(+), 1
No host backend support yet, but the interfaces for rotlv
and rotrv are in place.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
v3: Drop the generic expansion from rot to shift; we can do better
for each backend, and then this code becomes unused.
---
accel/tcg/tcg-runtime.h
We already had support for rotlv, using a target-specific opcode;
convert to use the generic opcode. Handle rotrv via simple negation.
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.h | 2 +-
tcg/ppc/tcg-target.opc.h | 1 -
tcg/ppc/tcg-target.inc.c | 23 +++
3
We do not reflect this expansion in tcg_can_emit_vecop_list,
so it is unused and unusable. However, we actually perform
the same expansion in do_gvec_shifts, so it is also unneeded.
Signed-off-by: Richard Henderson
---
tcg/tcg-op-vec.c | 35 +++
1 file changed, 1
For immediate rotate , we can implement this in two instructions,
using SLI. For variable rotate, the oddness of aarch64 right-shift-
as-negative-left-shift means a backend-specific expansion works best.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.opc.h | 1 +
tcg/aarch64/tcg-t
Merge VERLL and VERLLV into op_vesv and op_ves, alongside
all of the other vector shift operations.
Cc: David Hildenbrand
Signed-off-by: Richard Henderson
---
target/s390x/helper.h | 4 --
target/s390x/translate_vx.inc.c | 66 +
target/s390x/vec_int_he
If the output of the move is dead, then the last use is in
the store. If we propagate the input to the store, then we
can remove the move opcode entirely.
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 78 +++
1 file changed, 56 insertions(+
These will hold a single constant for the duration of the TB.
They are hashed, so that each value has one temp across the TB.
Not used yet, this is all infrastructure.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 27 +++-
tcg/optimize.c| 13 +++-
tcg/tcg-op-vec.c | 17 ++
V3 fixes the target/sparc regression during register allocation.
V1 blurb:
This promotes constants to full-fledged temporaries, which are then
hashed so we have only a single copy across the TB. If an opcode
requires forcing one into a register, then we will only do this
once -- at least until t
The temp_fixed, temp_global, temp_local bits are all related.
Combine them into a single enumeration.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 20 +---
tcg/optimize.c| 8 +--
tcg/tcg.c | 122 --
3 files changed, 90 in
Signed-off-by: Richard Henderson
---
tcg/tcg-op-vec.c | 63 ++--
1 file changed, 34 insertions(+), 29 deletions(-)
diff --git a/tcg/tcg-op-vec.c b/tcg/tcg-op-vec.c
index 43101defe4..0e3e80a612 100644
--- a/tcg/tcg-op-vec.c
+++ b/tcg/tcg-op-vec.c
@@ -23
In most, but not all, places that we check for TEMP_FIXED,
we are really testing that we do not modify the temporary.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 5 +
tcg/tcg.c | 21 ++---
2 files changed, 15 insertio
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op.h | 13 +--
tcg/tcg-op.c | 216 ---
2 files changed, 100 insertions(+), 129 deletions(-)
diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index 5abf17fecc..b4fba35e87 100644
--- a/inc
We must do this before we adjust how tcg_out_movi_i32,
lest the under-the-hood poking that we do be broken.
Signed-off-by: Richard Henderson
---
include/exec/gen-icount.h | 25 +
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/include/exec/gen-icount.h b/i
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 49 +++---
1 file changed, 22 insertions(+), 27 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index 51580d51a0..e5dc9d0ca9 100644
--- a/accel/tcg/plugin-gen.c
+++ b/accel
The normal movi opcodes are going away. We need something
for TCI to use internally.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-opc.h| 8
tcg/tci.c| 4 ++--
tcg/tci/tcg-target.inc.c | 4 ++--
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/
Prefer TEMP_CONST over anything else.
Signed-off-by: Richard Henderson
---
tcg/optimize.c | 27 ---
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index c0fc5e3da6..b86bf3d707 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.
Signed-off-by: Richard Henderson
---
tcg/tcg-op-gvec.c | 125 +++---
1 file changed, 50 insertions(+), 75 deletions(-)
diff --git a/tcg/tcg-op-gvec.c b/tcg/tcg-op-gvec.c
index 3707c0effb..8ecaf4d67e 100644
--- a/tcg/tcg-op-gvec.c
+++ b/tcg/tcg-op-gvec.c
@@
Fix this name vs our coding style.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/optimize.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index 8f3bd99ff4..c0fc5e3da6 100644
-
Signed-off-by: Richard Henderson
---
tcg/optimize.c | 106 ++---
1 file changed, 48 insertions(+), 58 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index d36d7e1d7f..dd5187be31 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -178,37 +17
While we don't store more than tcg_target_long in TCGTemp,
we shouldn't be limited to that for code generation. We will
be able to use this for INDEX_op_dup2_vec with 2 constants.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.inc.c | 2 +-
tcg/i386/tcg-target.inc.c| 20 ++
These are now completely covered by mov from a
TYPE_CONST temporary.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-opc.h| 3 ---
tcg/aarch64/tcg-target.inc.c | 3 ---
tcg/arm/tcg-target.inc.c | 1 -
tcg/i386/tcg-target.inc.c| 3 ---
tcg/mips/tcg-target.inc.c| 2 --
Do not allocate a large block for indexing. Instead, allocate
for each temporary as they are seen.
In general, this will use less memory, if we consider that most
TBs do not touch every target register. This also allows us to
allocate TempOptInfo for new temps created during optimization.
Signe
Having dupi pass though movi is confusing and arguably wrong.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.inc.c | 7
tcg/i386/tcg-target.inc.c| 63
tcg/ppc/tcg-target.inc.c | 6
tcg/tcg.c| 8 -
4 fi
There are several ways we can expand a vector dup of a 64-bit
element on a 32-bit host.
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 88 +++
1 file changed, 88 insertions(+)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 18ebcc98f6..e8fe2d580b 1
On Fri, 8 May 2020 at 07:33, Paolo Bonzini wrote:
>
> On 08/05/20 08:24, Philippe Mathieu-Daudé wrote:
> > It is not clear if dccvap_writefn() really needs
> > memory_region_writeback() or could use memory_region_msync().
>
> Indeed, I don't understand the code and why it matters that
> mr->dirty_
The functions eliminate duplication of the special cases for
this operation. They match up with the GVecGen2iFn typedef.
Add out-of-line helpers. We got away with only having inline
expanders because the neon vector size is only 16 bytes, and
we know that the inline expansion will always succeed
These interfaces have been replaced by tcg_gen_dupi_vec
and tcg_constant_vec.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op.h | 4
tcg/tcg-op-vec.c | 20
2 files changed, 24 deletions(-)
diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index b4fb
Create vectorized versions of handle_shri_with_rndacc
for shift+round and shift+round+accumulate. Add out-of-line
helpers in preparation for longer vector lengths from SVE.
Signed-off-by: Richard Henderson
---
target/arm/helper.h| 20 ++
target/arm/translate.h | 9 +
target/arm/t
Provide a functional interface for the vector expansion.
This fits better with the existing set of helpers that
we provide for other operations.
Macro-ize the 5 nearly identical comparisons.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 16 ++-
target/arm/translate-a64.c |
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.inc.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c
index 5e73e5d02b..cce28c81d7 100644
--- a/tcg/i386/tcg-target.inc.c
+++ b/tcg/i386/
Hi,
On 2020/5/5 22:44, Eric Auger wrote:
+static void acpi_dsdt_add_tpm(Aml *scope, VirtMachineState *vms)
+{
+hwaddr pbus_base = vms->memmap[VIRT_PLATFORM_BUS].base;
+PlatformBusDevice *pbus = PLATFORM_BUS_DEVICE(vms->platform_bus_dev);
+MemoryRegion *sbdev_mr;
+SysBusDevice *sb
The functions eliminate duplication of the special cases for
this operation. They match up with the GVecGen2iFn typedef.
Add out-of-line helpers. We got away with only having inline
expanders because the neon vector size is only 16 bytes, and
we know that the inline expansion will always succeed
Rather than perform the argument swap during code generation,
perform it during decode. This means it doesn't have to be
special cased later, and we can share code with aarch64 code
generation. Hopefully the decode comment addresses any confusion
that might arise in between.
Signed-off-by: Richa
Provide a functional interface for the vector expansion.
This fits better with the existing set of helpers that
we provide for other operations.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 7 +-
target/arm/translate-a64.c | 4 +-
target/arm/translate-neon.inc.
This is not complete, but shows the direction I'd like to go.
Version 2 extracts more bits from my sve2 branch. There's
still more to pull back, especially for crypto_helper.c, where
there are also tail clearing bugs to fix.
Version 3 rebases on master, which has some of the arm neon
decodetree
Provide a functional interface for the vector expansion.
This fits better with the existing set of helpers that
we provide for other operations.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 13 +-
target/arm/translate-a64.c | 22 ++-
target/arm/translate-neon.inc
Provide a functional interface for the vector expansion.
This fits better with the existing set of helpers that
we provide for other operations.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 10 ++-
target/arm/translate-a64.c | 18 ++--
target/arm/translate-neon.i
These operations do not touch fp_status.
Signed-off-by: Richard Henderson
---
target/arm/helper.h| 4 ++--
target/arm/translate-a64.c | 5 ++---
target/arm/translate.c | 12 ++--
target/arm/vfp_helper.c| 4 ++--
4 files changed, 8 insertions(+), 17 deletions(-)
diff -
In 1dc8425e551, while converting to gvec, I added an extra range check
against the shift count. This was unnecessary because the encoding of
the shift count produces 0 to the element size - 1.
Signed-off-by: Richard Henderson
---
target/arm/translate.c | 12 ++--
1 file changed, 2 inser
Now that we've converted all cases to gvec, there is quite a bit
of dead code at the end of the function. Remove it.
Sink the call to gen_gvec_fn2i to the end, loading a function
pointer within the switch statement.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 56 +
Provide a functional interface for the vector expansion.
This fits better with the existing set of helpers that
we provide for other operations.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 5
target/arm/translate-a64.c | 34 ++--
target/arm/transla
Include 64-bit element size in preparation for SVE2.
Signed-off-by: Richard Henderson
---
target/arm/helper.h| 17 +++--
target/arm/translate.h | 5 ++
target/arm/neon_helper.c | 10 ---
target/arm/translate-a64.c | 17 ++---
target/arm/translate.c | 134 ++
Must clear the tail for AdvSIMD when SVE is enabled.
Fixes: ca40a6e6e39
Signed-off-by: Richard Henderson
---
target/arm/vec_helper.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c
index 6aa2ca0827..a483841add 100644
--- a/target/arm/vec_he
Pass a pointer directly to env->vfp.qc[0], rather than env.
This will allow SVE2, which does not modify QC, to pass a
pointer to dummy storage.
Signed-off-by: Richard Henderson
---
target/arm/translate.c | 18 ---
target/arm/vec_helper.c | 70 +++--
2
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
include/hw/core/cpu.h | 23 +++
1 file changed, 23 insertions(+)
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 5bf94d28cf..07f7698155 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/c
On Fri, 8 May 2020 at 17:24, Shannon Zhao wrote:
>
> Hi,
>
> On 2020/5/5 22:44, Eric Auger wrote:
> > +static void acpi_dsdt_add_tpm(Aml *scope, VirtMachineState *vms)
> > +{
> > +hwaddr pbus_base = vms->memmap[VIRT_PLATFORM_BUS].base;
> > +PlatformBusDevice *pbus = PLATFORM_BUS_DEVICE(vms
Include 64-bit element size in preparation for SVE2.
Signed-off-by: Richard Henderson
---
target/arm/helper.h| 10 +++
target/arm/translate.h | 5 ++
target/arm/translate-a64.c | 8 ++-
target/arm/translate.c | 133 -
target/arm/vec_helper
We currently have target-endian versions of these operations,
but no easy way to force a specific endianness. This can be
helpful if the target has endian-specific operations, or a mode
that swaps endianness.
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
docs/devel/loads-stor
On 5/8/20 5:33 PM, Paolo Bonzini wrote:
On 08/05/20 17:20, Beata Michalska wrote:
mr->dirty_log_mask tells if dirty tracking has been enabled, not if the
page is dirty. It would always be true during live migration and when
running on TCG, but otherwise it would always be false.
Beata, can yo
On 4/4/20 5:33 PM, Cédric Le Goater wrote:
When recursing, the return value of do_object_child_foreach() is not
taken into account.
Cc: Peter Crosthwaite
Fixes: d714b8de7747 ("qom: Add recursive version of object_child_for_each")
Indeed.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by:
The only caller of cpu_watchpoint_address_matches passes
TARGET_PAGE_SIZE, so the bug is not currently visible.
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
exec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/exec.c b/exec.c
index 2874bb5088..5162f0d12f
Since we converted back to cpu_*_data_ra, we do not need to
do this ourselves.
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
target/arm/sve_helper.c | 38 --
1 file changed, 38 deletions(-)
diff --git a/target/arm/sve_helper.c b/target/arm/
101 - 200 of 344 matches
Mail list logo