unicorn/qemu
Peter Maydell 32b0e506e6 target/arm: Implement (trivially) ARMv8.2-TTCNP
The ARMv8.2-TTCNP extension allows an implementation to optimize by
sharing TLB entries between multiple cores, provided that software
declares that it's ready to deal with this by setting a CnP bit in
the TTBRn_ELx. It is mandatory from ARMv8.2 onward.

For QEMU's TLB implementation, sharing TLB entries between different
cores would not really benefit us and would be a lot of work to
implement. So we implement this extension in the "trivial" manner:
we allow the guest to set and read back the CnP bit, but don't change
our behaviour (this is an architecturally valid implementation
choice).

The only code path which looks at the TTBRn_ELx values for the
long-descriptor format where the CnP bit is defined is already doing
enough masking to not get confused when the CnP bit at the bottom of
the register is set, so we can simply add a comment noting why we're
relying on that mask.

Backports commit 41a4bf1feab098da4cd5495cd56a99b0339e2275 from qemu
2020-03-22 02:24:48 -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
default-configs target/riscv: Initial introduction of the RISC-V target 2019-03-08 21:46:10 -05:00
docs
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
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: Implement (trivially) ARMv8.2-TTCNP 2020-03-22 02:24:48 -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 target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
aarch64eb.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
accel.c
arm.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
armeb.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -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
exec.c Memory: Enable writeback for given memory region 2020-01-14 07:44:24 -05:00
gen_all_header.sh
glib_compat.c target/arm: Add VHE system register redirection and aliasing 2020-03-21 15:57:03 -04:00
header_gen.py target/riscv: Emulate TIME CSRs for privileged mode 2020-03-22 02:22:17 -04:00
ioport.c
LICENSE
m68k.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
Makefile Makefile: Rename targets for make recursion 2019-08-08 17:26:49 -04:00
Makefile.objs
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 memory: Single byte swap along the I/O path 2020-01-07 19:12:04 -05:00
memory_mapping.c
memory.c Memory: Enable writeback for given memory region 2020-01-14 07:44:24 -05:00
mips64.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
mips64el.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
mips.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
mipsel.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
powerpc.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
qemu-timer.c
riscv32.h target/riscv: Emulate TIME CSRs for privileged mode 2020-03-22 02:22:17 -04:00
riscv64.h target/riscv: Emulate TIME CSRs for privileged mode 2020-03-22 02:22:17 -04:00
rules.mak
sparc64.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
sparc.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00
unicorn_common.h
VERSION Open 5.0 development tree 2020-01-07 17:50:51 -05:00
vl.c
vl.h
x86_64.h target/arm: Convert PMULL.8 to gvec 2020-03-21 19:35:46 -04:00