This allows failures to be reported richly and idiomatically.
Signed-off-by: David Gibson
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Reviewed-by: Cornelia Huck
---
accel/kvm/kvm-all.c | 4 +++-
accel/kvm/sev-stub.c | 2 +-
include/sysemu/sev.h | 2 +-
target/i386/s
From: Greg Kurz
Global properties have an @optional field, which allows to apply a given
property to a given type even if one of its subclasses doesn't support
it. This is especially used in the compat code when dealing with the
"disable-modern" and "disable-legacy" properties and the "virtio-pci
At least some s390 cpu models support "Protected Virtualization" (PV),
a mechanism to protect guests from eavesdropping by a compromised
hypervisor.
This is similar in function to other mechanisms like AMD's SEV and
POWER's PEF, which are controlled by the "confidential-guest-support"
machine opti
Several architectures have mechanisms which are designed to protect
guest memory from interference or eavesdropping by a compromised
hypervisor. AMD SEV does this with in-chip memory encryption and
Intel's TDX can do similar things. POWER's Protected Execution
Framework (PEF) accomplishes a simil
When AMD's SEV memory encryption is in use, flash memory banks (which are
initialed by pc_system_flash_map()) need to be encrypted with the guest's
key, so that the guest can read them.
That's abstracted via the kvm_memcrypt_encrypt_data() callback in the KVM
state.. except, that it doesn't really
When the "memory-encryption" property is set, we also disable KSM
merging for the guest, since it won't accomplish anything.
We want that, but doing it in the property set function itself is
thereoretically incorrect, in the unlikely event of some configuration
environment that set the property th
On 2021/2/5 上午1:09, Andrew Melnychenko wrote:
This set of patches introduces the usage of eBPF for packet steering
and RSS hash calculation:
* RSS(Receive Side Scaling) is used to distribute network packets to
guest virtqueues by calculating packet hash
* Additionally adding support for the usa
Python script that emits the decode tree in dectree_generated.h.
Signed-off-by: Taylor Simpson
---
target/hexagon/dectree.py | 351 ++
1 file changed, 351 insertions(+)
create mode 100755 target/hexagon/dectree.py
diff --git a/target/hexagon/dectree.
At least some s390 cpu models support "Protected Virtualization" (PV),
a mechanism to protect guests from eavesdropping by a compromised
hypervisor.
This is similar in function to other mechanisms like AMD's SEV and
POWER's PEF, which are controlled by the "confidential-guest-support"
machine opti
Read the instruction memory
Create a packet data structure
Generate TCG code for the start of the packet
Invoke the generate function for each instruction
Generate TCG code for the end of the packet
Signed-off-by: Taylor Simpson
---
target/hexagon/translate.h | 93 ++
target/hexagon/transla
On 06/02/2021 21.05, Philippe Mathieu-Daudé wrote:
Travis-CI seems to have enforced memory limit on containers,
and the 'GCC check-tcg' job started to fail [*]:
[2041/3679] Compiling C++ object libcommon.fa.p/disas_nanomips.cpp.o
FAILED: libcommon.fa.p/disas_nanomips.cpp.o
{standard inp
The imported code uses host floating point. We override them
to use qemu softfloat
Signed-off-by: Taylor Simpson
---
target/hexagon/gen_tcg.h | 121 +++
1 file changed, 121 insertions(+)
diff --git a/target/hexagon/gen_tcg.h b/target/hexagon/gen_tcg.
The default behaviour for virtio devices is not to use the platforms normal
DMA paths, but instead to use the fact that it's running in a hypervisor
to directly access guest memory. That doesn't work if the guest's memory
is protected from hypervisor access, such as with AMD's SEV or POWER's PEF.
Enable multiarch tests for Hexagon
Modify tests/tcg/configure.sh
Add reference files to tests/tcg/hexagon
Signed-off-by: Taylor Simpson
---
tests/tcg/configure.sh| 4 +-
tests/tcg/hexagon/Makefile.target | 30 ++
tests/tcg/hexagon/float_convs.ref | 748
The following changes since commit 5b19cb63d9dfda41b412373b8c9fe14641bcab60:
Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-tcg-20210205' in=
to staging (2021-02-05 22:59:12 +)
are available in the Git repository at:
https://gitlab.com/dgibson/qemu.git tags/cgs-pull-request
Python scripts generate the following files
helper_protos_generated.h.inc
For each instruction we create DEF_HELPER function prototype
helper_funcs_generated.c.inc
For each instruction we create the helper function definition
tcg_funcs_generated.c.inc
For each in
Helpers won't work if there are multiple definitions, so we override these
instructions using #define fGEN_TCG_.
Signed-off-by: Taylor Simpson
---
target/hexagon/gen_tcg.h | 198 +++
1 file changed, 198 insertions(+)
create mode 100644 target/hexagon/
From: Alessandro Di Federico
Signed-off-by: Alessandro Di Federico
Tested-by: Taylor Simpson
---
.../debian-hexagon-cross-build-local.docker| 18 +++
.../debian-hexagon-cross.build-toolchain.sh| 141 +
.../docker/dockerfiles/debian-hexagon-cross.docker |
Determine legal VLIW slots for each instruction
Signed-off-by: Taylor Simpson
---
target/hexagon/iclass.h| 50 ++
target/hexagon/iclass.c| 73 ++
target/hexagon/imported/iclass.def | 51 ++
Add file to default-configs
Add hexagon to meson.build
Add hexagon to target/meson.build
Add target/hexagon/meson.build
Change scripts/qemu-binfmt-conf.sh
We can build a hexagon-linux-user target and run programs on the Hexagon
scalar core. With hexagon-linux-clang installed, "make check-tcg" wil
Run the C preprocessor across the instruction definition and encoding
files to expand macros and prepare the iset.py file. The resulting
fill contains python data structures used to build the decode tree.
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
---
target/hexagon/gen_
macros to interface with the generator
macros referenced in instruction semantics
Signed-off-by: Taylor Simpson
---
target/hexagon/macros.h | 592
1 file changed, 592 insertions(+)
create mode 100644 target/hexagon/macros.h
diff --git a/target/h
Implementation of Linux user emulation for Hexagon
Some common files modified in addition to new files in linux-user/hexagon
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
---
linux-user/hexagon/sockbits.h | 18 ++
linux-user/hexagon/syscall_nr.h | 322 +
Include the generated files and set up the data structures
Signed-off-by: Taylor Simpson
---
target/hexagon/genptr.h | 25
target/hexagon/genptr.c | 331
2 files changed, 356 insertions(+)
create mode 100644 target/hexagon/genptr.h
create
Signed-off-by: Taylor Simpson
---
target/hexagon/opcodes.h | 58 +++
target/hexagon/opcodes.c | 142 +++
2 files changed, 200 insertions(+)
create mode 100644 target/hexagon/opcodes.h
create mode 100644 target/hexagon/opcodes.c
diff
GDB register read and write routines
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé
---
target/hexagon/internal.h | 2 ++
target/hexagon/gdbstub.c | 47 +++
2 files changed, 49 insertions(+)
create
Define types used in files imported from the Hexagon architecture library
Signed-off-by: Taylor Simpson
---
target/hexagon/hex_arch_types.h | 38 ++
1 file changed, 38 insertions(+)
create mode 100644 target/hexagon/hex_arch_types.h
diff --git a/target/hexag
Signed-off-by: Taylor Simpson
---
tests/tcg/hexagon/atomics.c | 139 ++
tests/tcg/hexagon/dual_stores.c | 60 ++
tests/tcg/hexagon/mem_noshuf.c| 328
tests/tcg/hexagon/misc.c | 380 ++
tests
The insn_t and packet_t are the interface between instruction decoding and
TCG code generation
Signed-off-by: Taylor Simpson
---
target/hexagon/insn.h | 74 +++
1 file changed, 74 insertions(+)
create mode 100644 target/hexagon/insn.h
diff --git
Signed-off-by: Taylor Simpson
---
tests/tcg/hexagon/fpstuff.c | 370 ++
tests/tcg/hexagon/Makefile.target | 1 +
2 files changed, 371 insertions(+)
create mode 100644 tests/tcg/hexagon/fpstuff.c
diff --git a/tests/tcg/hexagon/fpstuff.c b/tests/tcg/hex
Signed-off-by: Taylor Simpson
---
target/hexagon/arch.h | 34 ++
target/hexagon/arch.c | 300 ++
2 files changed, 334 insertions(+)
create mode 100644 target/hexagon/arch.h
create mode 100644 target/hexagon/arch.c
diff --git a/target/hexagon
Signed-off-by: Taylor Simpson
---
target/hexagon/conv_emu.h | 31
target/hexagon/conv_emu.c | 177 ++
2 files changed, 208 insertions(+)
create mode 100644 target/hexagon/conv_emu.h
create mode 100644 target/hexagon/conv_emu.c
diff --git a/
Signed-off-by: Taylor Simpson
---
target/hexagon/fma_emu.h | 36 +++
target/hexagon/fma_emu.c | 702 +++
2 files changed, 738 insertions(+)
create mode 100644 target/hexagon/fma_emu.h
create mode 100644 target/hexagon/fma_emu.c
diff --git a/target/h
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé
---
target/hexagon/hex_regs.h | 83 +++
1 file changed, 83 insertions(+)
create mode 100644 target/hexagon/hex_regs.h
diff --git a/target/hexagon/hex_re
Add hexagon to disas/meson.build
Add disas/hexagon.c
Add hexagon to include/disas/dis-asm.h
Signed-off-by: Taylor Simpson
Tested-by: Philippe Mathieu-Daudé
Reviewed-by: Philippe Mathieu-Daudé
---
include/disas/dis-asm.h | 1 +
disas/hexagon.c | 65 +
The majority of helpers are generated. Define the helper functions needed
then include the generated file
Signed-off-by: Taylor Simpson
---
target/hexagon/helper.h| 88
target/hexagon/op_helper.c | 1064
2 files changed, 1152 insertions(+)
This series adds support for the Hexagon processor with Linux user support
See patch 02 Hexagon README for detailed information.
This series assumes int128_or() is implemented.
https://lists.nongnu.org/archive/html/qemu-devel/2020-10/msg06004.html
The series is also available at https://github.c
Run the C preprocessor across the instruction definition files and macro
definition file to expand macros and prepare the semantics_generated.pyinc
file. The resulting file contains one entry with the semantics for each
instruction and one line with the instruction attributes associated with
each
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
---
target/hexagon/printinsn.h | 27 +
target/hexagon/printinsn.c | 146 +
2 files changed, 173 insertions(+)
create mode 100644 target/hexagon/printinsn.h
create mode 100644
Add Taylor Simpson as the Hexagon target maintainer
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
---
MAINTAINERS | 9 +
1 file changed, 9 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 8d8b0bf..4130008 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -188,6 +18
Define EM_HEXAGON 164
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
Tested-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
---
include/elf.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/elf.h b/include/elf.h
index 7a418ee..f4fa3c1 100644
--- a/incl
Take the words from instruction memory and build a packet_t for TCG code
generation
The following operations are performed
Convert the .new encoded offset to the register number of the producer
Reorder the packet so .new producer is before consumer
Apply constant extenders
Separate
Add target state header, target definitions and initialization routines
Signed-off-by: Taylor Simpson
---
target/hexagon/cpu-param.h | 29 +
target/hexagon/cpu.h | 159 +++
target/hexagon/cpu_bits.h | 58 +
target/hexagon/internal.h | 35 +
target/h
Declare bitfields within registers such as user status register (USR)
Signed-off-by: Taylor Simpson
---
target/hexagon/reg_fields.h | 36
target/hexagon/reg_fields_def.h.inc | 41 +
target/hexagon/reg_fields.c |
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
---
target/hexagon/attribs.h | 35 +++
target/hexagon/attribs_def.h.inc | 97
2 files changed, 132 insertions(+)
create mode 100644 target/hexagon/attribs.h
create mod
Gives an introduction and overview to the Hexagon target
Signed-off-by: Taylor Simpson
---
target/hexagon/README | 235 ++
1 file changed, 235 insertions(+)
create mode 100644 target/hexagon/README
diff --git a/target/hexagon/README b/target/hexa
On 06/02/2021 18.57, Philippe Mathieu-Daudé wrote:
On 2/5/21 5:44 PM, Stefan Hajnoczi wrote:
From: Jagannathan Raman
PCI host bridge is setup for the remote device process. It is
implemented using remote-pcihost object. It is an extension of the PCI
host bridge setup by QEMU.
Remote-pcihost co
From: Xuzhou Cheng
ZynqMP QSPI supports SPI transfer using DMA mode, but currently this
is unimplemented. When QSPI is programmed to use DMA mode, QEMU will
crash. This is observed when testing VxWorks 7.
Add a basic implementation of QSPI DMA functionality.
Signed-off-by: Xuzhou Cheng
Signed-
From: Xuzhou Cheng
There are some coding convention warnings in xilinx_spips.c,
as reported by:
$ ./scripts/checkpatch.pl hw/ssi/xilinx_spips.c
Let's clean them up.
Signed-off-by: Xuzhou Cheng
Signed-off-by: Bin Meng
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Peter Maydell
---
(no
From: Bin Meng
is unimplemented. When QSPI is programmed to use DMA mode, QEMU will
crash. This is observed when testing VxWorks 7.
Add a basic implementation of QSPI DMA functionality.
Changes in v2:
- Remove unconnected TYPE_STREAM_SINK link property
- Add a TYPE_MEMORY_REGION link property,
On Thu, Jan 28, 2021 at 2:43 PM Bin Meng wrote:
>
> From: Bin Meng
>
> This includes several fixes related to erase operation of a SD card.
>
> Based-on:
> http://patchwork.ozlabs.org/project/qemu-devel/list/?series=226785
>
>
> Bin Meng (3):
> hw/sd: sd: Fix address check in sd_erase()
> hw/
Signed-off-by: Haibo Xu
---
hw/arm/virt.c | 22 +++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 623d5e9397..c2358cf4c5 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -79,6 +79,7 @@
#include "hw/virtio/virtio-iommu.h"
#
On 2021/2/5 下午9:38, Michael S. Tsirkin wrote:
On Thu, Feb 04, 2021 at 10:29:15PM +0200, Yuri Benditovich wrote:
Currently virtio-net silently clears features if they are
not supported by respective vhost. This may create migration
problems in future if vhost features on the source and destinat
The unsigned saturations are handled via generic code
using min/max. The signed saturations are expanded using
double-sized arithmetic and a saturating pack.
Since all operations are done via expansion, do not
actually set TCG_TARGET_HAS_sat_vec.
Signed-off-by: Richard Henderson
---
tcg/s390x/
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target-con-set.h | 1 +
tcg/s390x/tcg-target.h | 12 ++---
tcg/s390x/tcg-target.c.inc | 93 +-
3 files changed, 99 insertions(+), 7 deletions(-)
diff --git a/tcg/s390x/tcg-target-con-set.h b/tcg/s390x
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.h | 2 +-
tcg/s390x/tcg-target.c.inc | 7 +++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tcg/s390x/tcg-target.h b/tcg/s390x/tcg-target.h
index dd11972ed2..13b9918276 100644
--- a/tcg/s390x/tcg-target.h
+++ b/tcg/
On 2021/2/5 上午4:29, Yuri Benditovich wrote:
Currently virtio-net silently clears features if they are
not supported by respective vhost. This may create migration
problems in future if vhost features on the source and destination
are different. Implement graceful fallback to no-vhost mode
when
These logical and arithmetic operations are optional but trivial.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target-con-set.h | 1 +
tcg/s390x/tcg-target.h | 10 +-
tcg/s390x/tcg-target.c.inc | 34 +-
3 files changed, 39 insertions(+),
Add registers and function stubs. The functionality
is disabled via squashing s390_facilities[2] to 0.
We must still include results for the mandatory opcodes in
tcg_target_op_def, as all opcodes are checked during tcg init.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target-con-set.h |
We will shortly need to be able to check facilities beyond the
first 64. Instead of explicitly masking against s390_facilities,
create a HAVE_FACILITY macro that indexes an array.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
v2: Change
This emphasizes that we don't support s390, only 64-bit s390x hosts.
Reviewed-by: Thomas Huth
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
meson.build | 2 --
tcg/{s390 => s390x}/tcg-target-con-set.h | 0
tcg/{s390 => s390x}/tcg-target-c
Implement via expansion, so don't actually set TCG_TARGET_HAS_rotv_vec.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 35 ++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc
index
NEON has 3 instructions implementing this 4 argument operation,
with each insn overlapping a different logical input onto the
destination register.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target-con-set.h | 1 +
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.c.inc | 22 ++
This is saturating add and subtract, signed and unsigned.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.c.inc | 24
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
inde
Enable the virt machine feature "mte" to work with
KVM guest. This feature is still hiden from the user
in this patch, and will be available in a later patch.
Signed-off-by: Haibo Xu
---
hw/arm/virt.c | 22 +++---
target/arm/cpu.c | 2 +-
target/arm/kvm.c | 9 +
This consists of the three immediate shifts: shli, shri, sari.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.c.inc | 27 +++
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-targe
MTE spec provide instructions to retrieve the memory tags:
(1) LDG, at 16 bytes granularity, and available in both user
and kernel space;
(2) LDGM, at 256 bytes granularity in maximum, and only
available in kernel space
To improve the performance, KVM has exposed the LDGM capability
to use
Patchew URL:
https://patchew.org/QEMU/20210208023752.270606-1-richard.hender...@linaro.org/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20210208023752.270606-1-richard.hender...@linaro.org
Subject: [PATCH v3 00/70]
These logical and arithmetic operations are optional, but are
trivial to accomplish with the existing infrastructure.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target-con-set.h | 1 +
tcg/arm/tcg-target.h | 10 +-
tcg/arm/tcg-target.c.inc | 38
Signed-off-by: Haibo Xu
---
linux-headers/linux/kvm.h | 15 +++
1 file changed, 15 insertions(+)
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index 020b62a619..6a291a9a35 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -1056,6 +1056,7 @
Implementing dup2, add, sub, and, or, xor as the minimal set.
This allows us to actually enable neon in the header file.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target-con-set.h | 3 +
tcg/arm/tcg-target-con-str.h | 2 +
tcg/arm/tcg-target.h | 6 +-
tcg/arm/tcg-target.c.in
This series add support for MTE(Memory Tagging Extension)[1]
in KVM guest. It's based on Steven Price's kernel KVM patches
V7[2], and has been tested to ensure that test case[3] can be
passed in a KVM guest. Basic pre-copy migration test also passed
between two MTE enabled kvm guest.
This is a RF
On 2021/2/5 下午11:31, Peter Xu wrote:
On Fri, Feb 05, 2021 at 09:33:29AM +0100, Auger Eric wrote:
Hi,
On 2/5/21 4:16 AM, Jason Wang wrote:
On 2021/2/5 上午3:12, Peter Xu wrote:
Previous work on dev-iotlb message broke vhost on either SMMU
Have a quick git grep and it looks to me v3 support A
Most of dupi is copied from tcg/aarch64, which has the same
encoding for AdvSimdExpandImm.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 283 +--
1 file changed, 275 insertions(+), 8 deletions(-)
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/a
For usadd, we only have to consider overflow. Since ~B + B == -1,
the maximum value for A that saturates is ~B.
For ussub, we only have to consider underflow. The minimum value
that saturates to 0 from A - B is B.
Signed-off-by: Richard Henderson
---
tcg/tcg-op-vec.c | 37
This is via expansion; don't actually set TCG_TARGET_HAS_cmpsel_vec.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 24 +++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index 3c86b233
Add registers and function stubs. The functionality
is disabled via use_neon_instructions defined to 0.
We must still include results for the mandatory opcodes in
tcg_target_op_def, as all opcodes are checked during tcg init.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target-con-set.h |
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.h | 2 +-
tcg/s390x/tcg-target.c.inc | 25 +
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/tcg/s390x/tcg-target.h b/tcg/s390x/tcg-target.h
index 3026a4d8c4..efa32f348c 100644
--- a/tcg/s390x/tc
Changes for v2:
* Rebase on master, now that all prereq are upstream.
r~
Richard Henderson (16):
tcg/s390x: Rename from tcg/s390
tcg/s390x: Change FACILITY representation
tcg/s390x: Merge TCG_AREG0 and TCG_REG_CALL_STACK into TCGReg
tcg/s390x: Add host vector framework
tcg/s390x: Im
To make it easier to keep the page tags sync with
the page data, tags for one page are appended to
the data during ram save iteration.
This patch only add the pre-copy migration support.
Post-copy and compress as well as zero page saving
are not supported yet.
Signed-off-by: Haibo Xu
---
includ
Generate NEON instructions for tcg vector operations.
Changes for v2:
* Rebase on master, now that all prereq are upstream.
r~
Richard Henderson (15):
tcg: Change parameters for tcg_target_const_match
tcg/arm: Add host vector framework
tcg/arm: Implement tcg_out_ld/st for vector types
Implementing add, sub, and, or, xor as the minimal set.
This allows us to actually enable vectors in query_s390_facilities.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 154 -
1 file changed, 150 insertions(+), 4 deletions(-)
diff --git a
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 117 +
1 file changed, 105 insertions(+), 12 deletions(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index 4656efea83..df10ee0feb 100644
--- a/tcg/s390x/tcg-target.c.in
When this opcode is not available in the backend, tcg middle-end
will expand this as a series of 5 opcodes. So implementing this
saves bytecode space.
Signed-off-by: Richard Henderson
---
tcg/tci/tcg-target.h | 4 ++--
tcg/tci.c| 16 +++-
tcg/tci/tcg-target.c.in
This is minimum and maximu, signed and unsigned.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.c.inc | 24
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index 71621f2
They are rightly values in the same enumeration.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.h | 28 +++-
1 file changed, 7 insertions(+), 21 deletions(-)
diff --git a/tcg/s390x/tcg-target
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target-con-set.h | 1 +
tcg/s390x/tcg-target.h | 2 +-
tcg/s390x/tcg-target.c.inc | 20
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/tcg/s390x/tcg-target-con-set.h b/tcg/s390x/tcg-target-con-se
This operation is critical to staying within the interpretation
loop longer, which avoids the overhead of setup and teardown for
many TBs.
The check in tcg_prologue_init is disabled because TCI does
want to use NULL to indicate exit, as opposed to branching to
a real epilogue.
Signed-off-by: Rich
Implement via expansion, so don't actually set TCG_TARGET_HAS_roti_vec.
For NEON, this is shift-right followed by shift-left-and-insert.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target-con-set.h | 1 +
tcg/arm/tcg-target.opc.h | 1 +
tcg/arm/tcg-target.c.inc | 15 ++
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 50 +++-
1 file changed, 44 insertions(+), 6 deletions(-)
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc
index ca9a71ca64..20088ac61a 100644
--- a/tcg/arm/tcg-target.c.inc
+++ b/
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 72 +++---
1 file changed, 68 insertions(+), 4 deletions(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index df10ee0feb..fdf7475b2d 100644
--- a/tcg/s390x/tcg-target.c.inc
Signed-off-by: Richard Henderson
---
tcg/tci/tcg-target.c.inc | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/tcg/tci/tcg-target.c.inc b/tcg/tci/tcg-target.c.inc
index f93772f01f..eeafec6d44 100644
--- a/tcg/tci/tcg-target.c.inc
+++ b/tcg/tci/tcg-target.c.inc
@
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.c.inc | 6 ++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index cfbadad72c..94d768f249 100644
--- a/tcg/arm/tcg-target.h
+++ b/tcg/arm/tcg-tar
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 70
1 file changed, 64 insertions(+), 6 deletions(-)
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc
index 9bb354abce..ca9a71ca64 100644
--- a/tcg/arm/tcg-target.c.inc
+++ b/
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 122 -
1 file changed, 119 insertions(+), 3 deletions(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index fdf7475b2d..01118d9993 100644
--- a/tcg/s390x/tcg-target.c.inc
Signed-off-by: Richard Henderson
---
tcg/tci/tcg-target.c.inc | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/tcg/tci/tcg-target.c.inc b/tcg/tci/tcg-target.c.inc
index 8cc63124d4..f7595fbd65 100644
--- a/tcg/tci/tcg-target.c.inc
+++ b/tcg/tci/tcg-t
We're currently only testing TCI with a 64-bit host -- also test
with a 32-bit host. Enable a selection of softmmu and user-only
targets, 32-bit LE, 64-bit LE, 32-bit BE, as there are ifdefs for each.
Signed-off-by: Richard Henderson
---
.gitlab-ci.d/crossbuilds.yml| 17
Change the return value to bool, because that's what is should
have been from the start. Pass the ct mask instead of the whole
TCGArgConstraint, as that's the only part that's relevant.
Change the value argument to int64_t. We will need the extra
width for 32-bit hosts wanting to match vector co
https://patchew.org/QEMU/20210203161340.55210-1-aa...@os.amperecomputing.com/
works for me.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1914696
Title:
aarch64: migration failed: Segment
Signed-off-by: Richard Henderson
---
tcg/tci/tcg-target.c.inc | 23 ---
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/tcg/tci/tcg-target.c.inc b/tcg/tci/tcg-target.c.inc
index 8eda159dde..6c743a8fbd 100644
--- a/tcg/tci/tcg-target.c.inc
+++ b/tcg/tci/tcg-targe
1 - 100 of 226 matches
Mail list logo