qemu/target/arm
Peter Maydell 36476562d5 target/arm: Fix register definitions for VMIDR and VMPIDR
The register definitions for VMIDR and VMPIDR have separate
reginfo structs for the AArch32 and AArch64 registers. However
the 32-bit versions are wrong:
 * they use offsetof instead of offsetoflow32 to mark where
   the 32-bit value lives in the uint64_t CPU state field
 * they don't mark themselves as ARM_CP_ALIAS

In particular this means that if you try to use an Arm guest CPU
which enables EL2 on a big-endian host it will assert at reset:
 target/arm/cpu.c:114: cp_reg_check_reset: Assertion `oldvalue == newvalue' failed.

because the reset of the 32-bit register writes to the top
half of the uint64_t.

Correct the errors in the structures.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
This is necessary for 'make check' to pass on big endian
systems with the 'raspi3' board enabled, which is the
first board which has an EL2-enabled-by-default CPU.
2018-02-22 15:12:51 +00:00
..
arch_dump.c target/arm: Add aa{32, 64}_vfp_{dreg, qreg} helpers 2018-01-25 11:45:29 +00:00
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
arm-powerctl.c target-arm/powerctl: defer cpu reset work to CPU context 2017-02-24 10:32:46 +00:00
arm-powerctl.h target-arm/powerctl: defer cpu reset work to CPU context 2017-02-24 10:32:46 +00:00
arm-semi.c
cpu64.c target/arm: enable user-mode SHA-3, SM3, SM4 and SHA-512 instruction support 2018-02-09 10:40:29 +00:00
cpu-qom.h
cpu.c target/*/cpu.h: remove softfloat.h 2018-02-21 10:20:24 +00:00
cpu.h target/*/cpu.h: remove softfloat.h 2018-02-21 10:20:24 +00:00
crypto_helper.c target/arm: implement SM4 instructions 2018-02-09 10:40:28 +00:00
gdbstub64.c
gdbstub.c
helper-a64.c target/*/cpu.h: remove softfloat.h 2018-02-21 10:20:24 +00:00
helper-a64.h target/arm: check CF_PARALLEL instead of parallel_cpus 2017-10-24 13:53:41 -07:00
helper.c target/arm: Fix register definitions for VMIDR and VMPIDR 2018-02-22 15:12:51 +00:00
helper.h target/arm: implement SM4 instructions 2018-02-09 10:40:28 +00:00
internals.h target/arm: Enforce access to ZCR_EL at translation 2018-02-15 18:29:48 +00:00
iwmmxt_helper.c
kvm32.c target/arm: Add aa{32, 64}_vfp_{dreg, qreg} helpers 2018-01-25 11:45:29 +00:00
kvm64.c target/arm: Add aa{32, 64}_vfp_{dreg, qreg} helpers 2018-01-25 11:45:29 +00:00
kvm_arm.h target/arm/kvm: gic: Prevent creating userspace GICv3 with KVM 2018-02-09 10:55:32 +00:00
kvm-consts.h arm: add trailing ; after MISMATCH_CHECK 2017-02-01 03:37:18 +02:00
kvm-stub.c
kvm.c arm: postpone device listener unregister 2018-02-07 14:09:24 +01:00
machine.c target/arm: Implement v8M MSPLIM and PSPLIM registers 2018-02-15 18:29:49 +00:00
Makefile.objs
monitor.c
neon_helper.c target/*/cpu.h: remove softfloat.h 2018-02-21 10:20:24 +00:00
op_addsub.h
op_helper.c -----BEGIN PGP SIGNATURE----- 2018-01-26 10:08:53 +00:00
psci.c fix WFI/WFE length in syndrome register 2017-10-31 11:50:50 +00:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
translate-a64.c target/arm: Handle SVE registers when using clear_vec_high 2018-02-15 18:29:49 +00:00
translate.c target/arm/translate.c: Fix missing 'break' for TT insns 2018-02-09 10:55:39 +00:00
translate.h target/arm: Add SVE state to TB->FLAGS 2018-02-09 10:55:27 +00:00