unicorn/qemu/target-i386
Paolo Bonzini 5b02b2728a
target-i386: make xmm_regs 512-bit wide
Right now, the AVX512 registers are split in many different fields:
xmm_regs for the low 128 bits of the first 16 registers, ymmh_regs
for the next 128 bits of the same first 16 registers, zmmh_regs
for the next 256 bits of the same first 16 registers, and finally
hi16_zmm_regs for the full 512 bits of the second 16 bit registers.

This makes it simple to move data in and out of the xsave region,
but would be a nightmare for a hypothetical TCG implementation and
leads to a proliferation of [XYZ]MM_[BWLSQD] macros. Instead,
this patch marshals data manually from the xsave region to a single
32x512-bit array, simplifying the macro jungle and clarifying which
bits are in which vmstate subsection.

The migration format is unaffected.

Backports commit b7711471f551aa4419f9d46a11121f48ced422da from qemu
2018-02-12 12:38:43 -05:00
..
arch_memory_mapping.c import 2015-08-21 15:04:50 +08:00
bpt_helper.c target-i386: Make check_hw_breakpoints static 2018-02-11 12:28:08 -05:00
cc_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
cc_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
cpu-qom.h remove slow cpu QOM casts (#815) 2017-05-02 14:56:39 +08:00
cpu.c cleanup after msvc port 2017-01-22 21:27:17 +08:00
cpu.h target-i386: make xmm_regs 512-bit wide 2018-02-12 12:38:43 -05:00
excp_helper.c import 2015-08-21 15:04:50 +08:00
fpu_helper.c cleanup after msvc port 2017-01-22 21:27:17 +08:00
helper.c target-i386: Move breakpoint related functions to new file 2018-02-11 12:25:24 -05:00
helper.h rework code/block tracing 2016-01-22 18:42:27 -08:00
int_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
Makefile.objs target-i386: Move breakpoint related functions to new file 2018-02-11 12:25:24 -05:00
mem_helper.c no more spinlock 2017-01-20 14:57:33 +08:00
misc_helper.c target-i386: Move breakpoint related functions to new file 2018-02-11 12:25:24 -05:00
ops_sse_header.h import 2015-08-21 15:04:50 +08:00
ops_sse.h i386: fix signed int overflow in #923 & #924 2017-12-16 10:28:45 +08:00
seg_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
shift_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
smm_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
svm_helper.c cleanup after msvc port 2017-01-22 21:27:17 +08:00
svm.h Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
TODO import 2015-08-21 15:04:50 +08:00
topology.h platform.h move #3 2017-01-21 00:13:21 +11:00
translate.c target-*: Increment num_insns immediately after tcg_gen_insn_start 2018-02-11 12:46:30 -05:00
unicorn.c target-i386: make xmm_regs 512-bit wide 2018-02-12 12:38:43 -05:00
unicorn.h New feature: registers can be bulk saved/restored in an opaque blob 2016-08-20 04:14:07 -07:00