unicorn/qemu
Peter Maydell 20712bcb9a
target-arm: Make reserved ranges in ID_AA64* spaces RAZ, not UNDEF
The v8 ARM ARM defines that unused spaces in the ID_AA64* system
register ranges are Reserved and must RAZ, rather than being UNDEF.
Implement this.

In particular, ARM v8.2 adds a new feature register ID_AA64MMFR2,
and newer versions of the Linux kernel will attempt to read this,
which causes them not to boot up on versions of QEMU missing this fix.

Since the encoding .opc0 = 3, .opc1 = 0, .crn = 0, .crm = 2, .opc2 = 6
is actually defined in ARMv8 (as ID_MMFR4), we give it an entry in
the ARMCPU struct so CPUs can override it, though since none do
this too will just RAZ.

Backports commit e20d84c1407d43d5a2e2ac95dbb46db3b0af8f9f from qemu
2018-02-20 22:49:43 -05:00
..
crypto
default-configs
docs
fpu softfloat: Remove lingering fast casts 2018-02-20 19:04:22 -05:00
hw
include memory: Remove unreachable return statement 2018-02-20 20:54:24 -05:00
qapi qapi: Don't box branches of flat unions 2018-02-20 16:44:55 -05:00
qobject qapi: Convert QType into QAPI built-in enum type 2018-02-19 21:47:05 -05:00
qom cpu: Add callback to check architectural watchpoint match 2018-02-20 11:43:56 -05:00
scripts qapi: Don't box branches of flat unions 2018-02-20 16:44:55 -05:00
target-arm target-arm: Make reserved ranges in ID_AA64* spaces RAZ, not UNDEF 2018-02-20 22:49:43 -05:00
target-i386 target-i386: fix confusion in xcr0 bit position vs. mask 2018-02-20 21:00:41 -05:00
target-m68k m68k: Clean up includes 2018-02-19 01:06:05 -05:00
target-mips target-mips: implement R6 multi-threading 2018-02-20 22:02:40 -05:00
target-sparc target-sparc: Use global registers for the register window 2018-02-20 20:34:42 -05:00
tcg tcg: Remove unnecessary osdep.h includes from tcg-target.inc.c 2018-02-20 20:41:00 -05:00
util error: New error_fatal 2018-02-20 08:22:27 -05:00
aarch64.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
aarch64eb.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
accel.c
arm.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
armeb.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
CODING_STYLE
configure
COPYING
COPYING.LIB
cpu-exec-common.c
cpu-exec.c
cpus.c
cputlb.c
exec.c memory: optimize qemu_get_ram_ptr and qemu_ram_ptr_length 2018-02-20 20:53:31 -05:00
gen_all_header.sh
glib_compat.c
HACKING
header_gen.py target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
ioport.c
LICENSE
m68k.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
Makefile
Makefile.objs
Makefile.target
memory_mapping.c
memory.c memory: optimize qemu_get_ram_ptr and qemu_ram_ptr_length 2018-02-20 20:53:31 -05:00
mips64.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
mips64el.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
mips.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
mipsel.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
powerpc.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-log.c
qemu-timer.c
rules.mak
softmmu_template.h
sparc64.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
sparc.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00
tcg-runtime.c
translate-all.c
translate-all.h
translate-common.c
unicorn_common.h qom/cpu: Add MemoryRegion property 2018-02-18 21:54:50 -05:00
VERSION
vl.c
vl.h
x86_64.h target-arm: Give CPSR setting on 32-bit exception return its own helper 2018-02-20 22:08:35 -05:00