unicorn/qemu
Peter Maydell 61cf5abc9e target/arm: Correctly implement ACTLR2, HACTLR2
The ACTLR2 and HACTLR2 AArch32 system registers didn't exist in ARMv7
or the original ARMv8. They were later added as optional registers,
whose presence is signaled by the ID_MMFR4.AC2 field. From ARMv8.2
they are mandatory (ie ID_MMFR4.AC2 must be non-zero).

We implemented HACTLR2 in commit 0e0456ab8895a5e85, but we
incorrectly made it exist for all v8 CPUs, and we didn't implement
ACTLR2 at all.

Sort this out by implementing both registers only when they are
supposed to exist, and setting the ID_MMFR4 bit for -cpu max.

Note that this removes HACTLR2 from our Cortex-A53, -A47 and -A72
CPU models; this is correct, because those CPUs do not implement
this register.

Fixes: 0e0456ab8895a5e85

Backports commit f6287c24c66d6b9187c1c2887e1c7cfa4d304b0c from qemu
2020-03-21 18:52:30 -04:00
..
accel Ensure that PC is not fixed up when code tracing or timing. (#1179) 2020-01-14 09:52:25 -05: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 fpu: rename softfloat-specialize.h -> .inc.c 2019-11-18 21:12:30 -05:00
hw Expose different 32-bit ARM CPU models to users via UC_MODE flags (#1165) 2020-01-14 09:37:21 -05:00
include tcg: Add support for a helper with 7 arguments 2020-03-21 16:53:56 -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 cpu: Move icount_decr to CPUNegativeOffsetState 2019-06-13 15:34:28 -04:00
scripts decodetree: Suppress redundant declaration warnings 2019-11-18 21:21:30 -05:00
target target/arm: Correctly implement ACTLR2, HACTLR2 2020-03-21 18:52:30 -04:00
tcg tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
util util/cutils: Turn FIXME comment into QEMU_BUILD_BUG_ON() 2020-01-14 08:04:30 -05:00
aarch64.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
aarch64eb.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
armeb.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
CODING_STYLE.rst docs: split the CODING_STYLE doc into distinct groups 2019-11-28 02:54:44 -05:00
configure configure: Require Python >= 3.5 2020-01-14 08:09:23 -05:00
COPYING
COPYING.LIB
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c Memory: Enable writeback for given memory region 2020-01-14 07:44:24 -05: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: Add VHE system register redirection and aliasing 2020-03-21 15:57:03 -04:00
header_gen.py tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE
m68k.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
Makefile Makefile: Rename targets for make recursion 2019-08-08 17:26:49 -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 Memory: Enable writeback for given memory region 2020-01-14 07:44:24 -05:00
memory_ldst.inc.c memory: Single byte swap along the I/O path 2020-01-07 19:12:04 -05: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: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
mips64.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
mips64el.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
mipsel.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
powerpc.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -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: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
riscv64.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
sparc64.h tcg: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00
unicorn_common.h unicorn_common: Fix unicorn memory functions failing 2018-09-03 10:40:14 -04:00
VERSION Open 5.0 development tree 2020-01-07 17:50:51 -05: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: Add tcg_gen_gvec_5_ptr 2020-03-21 16:54:01 -04:00