xemu/target
Paolo Bonzini d22697dde0 target/i386: do not access beyond the low 128 bits of SSE registers
The i386 target consolidates all vector registers so that instead of
XMMReg, YMMReg and ZMMReg structs there is a single ZMMReg that can
fit all of SSE, AVX and AVX512.

When TCG copies data from and to the SSE registers, it uses the
full 64-byte width.  This is not a correctness issue because TCG
never lets guest code see beyond the first 128 bits of the ZMM
registers, however it causes uninitialized stack memory to
make it to the CPU's migration stream.

Fix it by only copying the low 16 bytes of the ZMMReg union into
the destination register.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-04-13 18:59:52 +02:00
..
alpha Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
arm Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
avr target: Use ArchCPU as interface to target CPU 2022-03-06 22:23:09 +01:00
cris target: Use ArchCPU as interface to target CPU 2022-03-06 22:23:09 +01:00
hexagon Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
hppa Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
i386 target/i386: do not access beyond the low 128 bits of SSE registers 2022-04-13 18:59:52 +02:00
m68k Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
microblaze Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
mips Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
nios2 Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
openrisc Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
ppc Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
riscv Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
rx Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
s390x Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sh4 Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
sparc Move CPU softfloat unions to cpu-float.h 2022-04-06 14:31:43 +02:00
tricore Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
xtensa Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +02:00
meson.build Drop the deprecated unicore32 target 2021-05-12 18:20:52 +02:00