unicorn/qemu
Peter Maydell 87c8c0fde7
target/arm: Set FPCCR.S when executing M-profile floating point insns
The M-profile FPCCR.S bit indicates the security status of
the floating point context. In the pseudocode ExecuteFPCheck()
function it is unconditionally set to match the current
security state whenever a floating point instruction is
executed.

Implement this by adding a new TB flag which tracks whether
FPCCR.S is different from the current security state, so
that we only need to emit the code to update it in the
less-common case when it is not already set correctly.

Note that we will add the handling for the other work done
by ExecuteFPCheck() in later commits.

Backports commit 6d60c67a1a03be32c3342aff6604cdc5095088d1 from qemu
2019-04-30 10:50:17 -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: Set FPCCR.S when executing M-profile floating point insns 2019-04-30 10:50:17 -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 tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
aarch64eb.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
armeb.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
CODING_STYLE
configure configure: Disable W^X on OpenBSD 2019-03-11 16:46:52 -04:00
COPYING
COPYING.LIB
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
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 tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE
m68k.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -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 tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
mips64.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
mips64el.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
mipsel.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
powerpc.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
riscv32.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
riscv64.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
sparc64.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -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 tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00