target-arm: Fix raw read and write functions on AArch64 registers
commit67ed771dedd2a7c6f094e0d70fb1fde8f5fb79da
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 26 Feb 2014 17:20:01 +0000 (26 17:20 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 26 Feb 2014 17:20:01 +0000 (26 17:20 +0000)
tree1010d6a37439ed02fa1b9e4dad1ddfd830fe6711
parent855011be05fad72e17e0280d0bab87a4bc840695
target-arm: Fix raw read and write functions on AArch64 registers

The raw read and write functions were using the ARM_CP_64BIT flag in
ri->type to determine whether to treat the register's state field as
uint32_t or uint64_t; however AArch64 register info structs don't use
that flag. Abstract out the "how big is the field?" test into a
function and fix it to work for AArch64 registers. For this to work
we must ensure that the reginfo structs put into the hashtable have
the correct state field for their use, not the placeholder STATE_BOTH.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/cpu.c
target-arm/cpu.h
target-arm/helper.c