unicorn/qemu
Peter Maydell a4f332f3e9
target/arm: Implement dummy versions of M-profile FP-related registers
The M-profile floating point support has three associated config
registers: FPCAR, FPCCR and FPDSCR. It also makes the registers
CPACR and NSACR have behaviour other than reads-as-zero.
Add support for all of these as simple reads-as-written registers.
We will hook up actual functionality later.

The main complexity here is handling the FPCCR register, which
has a mix of banked and unbanked bits.

Note that we don't share storage with the A-profile
cpu->cp15.nsacr and cpu->cp15.cpacr_el1, though the behaviour
is quite similar, for two reasons:
* the M profile CPACR is banked between security states
* it preserves the invariant that M profile uses no state
inside the cp15 substruct

Backports commit d33abe82c7c9847284a23e575e1078cccab540b5 from qemu
2019-04-30 10:13:41 -04:00
..
accel cputlb: Fix io_readx() to respect the access_type 2019-04-30 10:11:11 -04:00
crypto
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 dummy versions of M-profile FP-related registers 2019-04-30 10:13:41 -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
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
COPYING.LIB
cpus.c
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
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_ldst.inc.c exec: Fix MAP_RAM for cached access 2018-07-03 01:11:12 -04:00
memory_mapping.c
memory.c cputlb: Synchronize with qemu 2019-04-26 15:48: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
mips.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
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
sparc64.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00
sparc.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
x86_64.h tcg: Implement tcg_gen_extract2_{i32,i64} 2019-04-30 09:20:45 -04:00