mirror_qemu/target/s390x
David Hildenbrand 60e9e3f1b0 s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY
Very similar to LOAD COUNT TO BLOCK BOUNDARY, but instead of only
calculating, the actual vector is loaded. Use a temporary vector to
not modify the real vector on exceptions. Initialize that one to zero,
to not leak any data. Provide a fast path if we're loading a full
vector.

As we don't have gvec ool handlers for single vectors, just calculate
the vector address manually.

We can reuse the helper later on for VECTOR LOAD WITH LENGTH. In fact,
we are going to name it "vll" right from the beginning, because that's
a better match.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190307121539.12842-15-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2019-03-11 09:31:01 +01:00
..
Makefile.objs s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY 2019-03-11 09:31:01 +01:00
arch_dump.c compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
cc_helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
cpu-qom.h target/s390x: change CPU type name to "s390x-cpu" 2017-10-30 08:56:28 +01:00
cpu.c s390x: Fix the confusing contributions-after-2012 license statements 2019-02-18 11:25:43 +01:00
cpu.h s390x/tcg: Check vector register instructions at central point 2019-03-11 09:31:01 +01:00
cpu_features.c s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init 2019-02-18 11:25:43 +01:00
cpu_features.h s390x/cpumodel: enum type S390FeatGroup now gets generated 2018-08-20 14:18:49 +02:00
cpu_features_def.h s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
cpu_models.c QAPI patches for 2019-02-18 2019-02-18 14:23:13 +00:00
cpu_models.h s390x/cpumodel: default enable mepoch for z14 and later 2019-02-18 11:25:43 +01:00
crypto_helper.c s390x/tcg: introduce and use s390_program_interrupt() 2017-12-14 17:56:54 +01:00
diag.c s390x: Return specification exception for unimplemented diag 308 subcodes 2019-01-18 11:52:00 +01:00
excp_helper.c s390x/tcg: Save vregs to extended mchk save area 2019-03-04 11:49:31 +01:00
fpu_helper.c s390x/tcg: Handle all rounding modes overwritten by BFP instructions 2019-03-04 11:49:31 +01:00
gdbstub.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
gen-features.c s390x: Add floating-point extension facility to "qemu" cpu model 2019-03-04 11:49:31 +01:00
helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
helper.h s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY 2019-03-11 09:31:01 +01:00
insn-data.def s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY 2019-03-11 09:31:01 +01:00
insn-format.def s390x/tcg: Define vector instruction formats 2019-03-11 09:31:01 +01:00
int_helper.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
internal.h target/s390x: Remove non-architected entries from struct LowCore 2019-03-11 09:31:01 +01:00
interrupt.c s390x: move tcg_s390_program_interrupt() into TCG code and mark it noreturn 2018-10-04 10:32:39 +02:00
ioinst.c s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG) 2017-12-14 17:56:54 +01:00
kvm-stub.c s390x/kvm: pass values instead of pointers to kvm_s390_set_clock_*() 2018-07-02 10:37:38 +02:00
kvm.c s390x/kvm: add tracepoint to ioeventfd interface 2019-02-18 11:25:43 +01:00
kvm_s390x.h s390x/tod: factor out TOD into separate device 2018-07-02 10:37:38 +02:00
machine.c s390x/kvm: add etoken facility 2018-08-20 14:18:49 +02:00
mem_helper.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
misc_helper.c target/s390x: Implement STCK et al for CONFIG_USER_ONLY 2019-02-18 11:25:43 +01:00
mmu_helper.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
s390-tod.h target/s390x: Split out s390-tod.h 2019-02-18 11:25:43 +01:00
sigp.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
tcg-stub.c s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
tcg_s390x.h s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
trace-events s390x/kvm: add tracepoint to ioeventfd interface 2019-02-18 11:25:43 +01:00
translate.c s390x/tcg: Implement VECTOR GENERATE BYTE MASK 2019-03-11 09:31:01 +01:00
translate_vx.inc.c s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY 2019-03-11 09:31:01 +01:00
vec.h s390x/tcg: Utilities for vector instruction helpers 2019-03-11 09:31:01 +01:00
vec_helper.c s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY 2019-03-11 09:31:01 +01:00