unicorn/qemu
Peter Maydell 18bb21c035
target/arm: Honour M-profile FP enable bits
Like AArch64, M-profile floating point has no FPEXC enable
bit to gate floating point; so always set the VFPEN TB flag.

M-profile also has CPACR and NSACR similar to A-profile;
they behave slightly differently:
* the CPACR is banked between Secure and Non-Secure
* if the NSACR forces a trap then this is taken to
the Secure state, not the Non-Secure state

Honour the CPACR and NSACR settings. The NSACR handling
requires us to borrow the exception.target_el field
(usually meaningless for M profile) to distinguish the
NOCP UsageFault taken to Secure state from the more
usual fault taken to the current security state.

Backports commit d87513c0abcbcd856f8e1dee2f2d18903b2c3ea2 from qemu
2019-04-30 10:18:21 -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: Honour M-profile FP enable bits 2019-04-30 10:18:21 -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 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 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 import 2015-08-21 15:04:50 +08:00
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