unicorn/qemu
Peter Maydell a976d7642a
target/arm: Implement M-profile lazy FP state preservation
The M-profile architecture floating point system supports
lazy FP state preservation, where FP registers are not
pushed to the stack when an exception occurs but are instead
only saved if and when the first FP instruction in the exception
handler is executed. Implement this in QEMU, corresponding
to the check of LSPACT in the pseudocode ExecuteFPCheck().

Backports commit e33cf0f8d8c9998a7616684f9d6aa0d181b88803 from qemu
2019-04-30 11:21:50 -04:00
..
accel cputlb: Fix io_readx() to respect the access_type 2019-04-30 10:11:11 -04:00
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs target/riscv: Initial introduction of the RISC-V target 2019-03-08 21:46:10 -05:00
docs docs/devel/memory.txt: Document _with_attrs accessors 2018-10-04 04:46:26 -04:00
fpu qemu/fpu: Synchronize with Qemu 2019-03-09 18:27:31 -05:00
hw target/riscv: Initial introduction of the RISC-V target 2019-03-08 21:46:10 -05:00
include tcg: Hoist max_insns computation to tb_gen_code 2019-04-30 09:49:57 -04:00
qapi qapi: Rewrite string-input-visitor's integer and list parsing 2018-12-18 04:57:25 -05:00
qobject qstring: Move qstring_from_substr()'s @end one to the right 2018-08-02 21:24:19 -04:00
qom qom/cpu: Add cluster_index to CPUState 2019-01-30 12:59:59 -05:00
scripts decodetree: Properly diagnose fields overflowing an insn 2019-03-13 11:21:04 -04:00
target target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
tcg tcg/arm: Restrict constant pool displacement to 12 bits 2019-04-30 10:10:21 -04:00
util target/arm: Handle AArch32 CRC instructions 2019-04-27 10:50:25 -04:00
aarch64.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
aarch64eb.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
armeb.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure configure: Disable W^X on OpenBSD 2019-03-11 16:46:52 -04:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c exec.c: refactor function flatview_add_to_dispatch() 2019-03-11 17:00:46 -04:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c target/arm/translate: Synchronize with Qemu 2019-04-27 10:13:01 -04:00
HACKING HACKING: document preference for g_new instead of g_malloc 2018-05-22 00:30:50 -04:00
header_gen.py target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
Makefile config-all-devices.mak: rebuild on reconfigure 2019-03-29 19:31:32 -04:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012] 2018-12-18 03:52:36 -05:00
memory.c cputlb: Synchronize with qemu 2019-04-26 15:48:45 -04:00
memory_ldst.inc.c exec: Fix MAP_RAM for cached access 2018-07-03 01:11:12 -04:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
mips64.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
mips64el.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
mipsel.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
powerpc.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
riscv32.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
riscv64.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
sparc64.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00
unicorn_common.h unicorn_common: Fix unicorn memory functions failing 2018-09-03 10:40:14 -04:00
VERSION Open 4.1 development tree 2019-04-24 11:59:00 -04:00
vl.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h target/arm: Implement M-profile lazy FP state preservation 2019-04-30 11:21:50 -04:00