unicorn/qemu/target/arm
Peter Maydell f4df29ca4f
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.

Backports commit 36476562d57a3b64bbe86db26e63677dd21907c5 from qemu
2018-03-08 12:26:09 -05:00
..
arm-powerctl.c ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
arm-powerctl.h ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2018-03-02 00:20:11 -05:00
cpu-qom.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
cpu.c target/*/cpu.h: remove softfloat.h 2018-03-08 09:58:47 -05:00
cpu.h target/*/cpu.h: remove softfloat.h 2018-03-08 09:58:47 -05:00
cpu64.c target/arm: enable user-mode SHA-3, SM3, SM4 and SHA-512 instruction support 2018-03-07 08:58:43 -05:00
crypto_helper.c target/arm: implement SM4 instructions 2018-03-07 08:57:53 -05:00
helper-a64.c target/*/cpu.h: remove softfloat.h 2018-03-08 09:58:47 -05:00
helper-a64.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
helper.c target/arm: Fix register definitions for VMIDR and VMPIDR 2018-03-08 12:26:09 -05:00
helper.h target/arm: implement SM4 instructions 2018-03-07 08:57:53 -05:00
internals.h target/arm: Enforce access to ZCR_EL at translation 2018-03-08 09:17:33 -05:00
iwmmxt_helper.c Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
kvm-consts.h arm: better stub version for MISMATCH_CHECK 2018-03-02 00:13:45 -05:00
Makefile.objs ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
neon_helper.c target/*/cpu.h: remove softfloat.h 2018-03-08 09:58:47 -05:00
op_addsub.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
op_helper.c accel/tcg: add size paremeter in tlb_fill() 2018-03-06 10:56:34 -05:00
psci.c fix WFI/WFE length in syndrome register 2018-03-05 11:21:51 -05:00
translate-a64.c target/arm: Handle SVE registers when using clear_vec_high 2018-03-08 09:32:33 -05:00
translate.c target/arm/translate.c: Fix missing 'break' for TT insns 2018-03-07 11:45:39 -05:00
translate.h target/arm: Add SVE state to TB->FLAGS 2018-03-07 11:44:32 -05:00
unicorn.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
unicorn_aarch64.c unicorn/aarch64: Use qemu-provided helpers for accessing VFP/NEON/SIMD registers 2018-03-07 11:25:41 -05:00
unicorn_arm.c unicorn/aarch64: Use qemu-provided helpers for accessing VFP/NEON/SIMD registers 2018-03-07 11:25:41 -05:00