qemu/linux-user/i386
Richard Henderson a7365e984d linux-user/i386: Fix allocation and alignment of fp state
For modern cpus, the kernel uses xsave to store all extra
cpu state across the signal handler.  For xsave/xrstor to
work, the pointer must be 64 byte aligned.  Moreover, the
regular part of the signal frame must be 16 byte aligned.

Attempt to mirror the kernel code as much as possible.
Use enum FPStateKind instead of use_xsave() and use_fxsr().

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1648
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2024-05-26 15:45:23 -07:00
..
cpu_loop.c bulk: Call in place single use cpu_env() 2024-03-12 11:46:16 +01:00
Makefile.vdso linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
meson.build linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
signal.c linux-user/i386: Fix allocation and alignment of fp state 2024-05-26 15:45:23 -07:00
sockbits.h linux-user: move socket.h generic definitions to generic/sockbits.h 2018-05-25 10:10:55 +02:00
syscall_32.tbl linux-user: update syscall.tbl to Linux v5.13 2021-07-13 13:59:59 +02:00
syscall_nr.h meson: linux-user 2020-08-21 06:30:38 -04:00
syscallhdr.sh linux-user, i386: add syscall table generation support 2020-03-20 16:02:00 +01:00
target_cpu.h linux user: Fix Lesser GPL version number 2020-11-15 16:41:26 +01:00
target_elf.h linux-user: use 'max' instead of 'qemu32' / 'qemu64' by default 2022-09-23 14:04:17 +02:00
target_errno_defs.h linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
target_fcntl.h linux-user: move generic fcntl definitions to generic/fcntl.h 2018-06-04 01:30:43 +02:00
target_mman.h linux-user: Define ELF_ET_DYN_BASE in $guest/target_mman.h 2023-08-08 13:27:15 -07:00
target_prctl.h linux-user: Split out do_prctl and subroutines 2022-01-06 11:40:52 +01:00
target_proc.h linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
target_resource.h linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
target_signal.h linux-user: Move target_signal.h generic definitions to generic/signal.h 2022-01-06 11:40:52 +01:00
target_structs.h linux-user: Move target_struct.h generic definitions to generic/ 2022-01-11 18:40:44 +01:00
target_syscall.h linux-user: target_syscall.h remove definition TARGET_MINSIGSTKSZ 2022-01-06 11:40:52 +01:00
termbits.h linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00
vdso-asmoffset.h linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
vdso.ld linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
vdso.S linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00
vdso.so linux-user/i386: Add vdso 2023-10-30 13:41:55 -07:00