OSDN Git Service

target-arm: Replace wildcarded cpreg definitions with precise ones for ARMv8
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 15 Apr 2014 18:18:47 +0000 (19:18 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 17 Apr 2014 20:34:05 +0000 (21:34 +0100)
commit9449fdf61fc32e50e29d9bc5b531f1d238c13c97
treee6ed821a44988edc7318520bc3a8b2c138420d4d
parent00a29f3ddcd506f2fdba4d115e6c8df676f203db
target-arm: Replace wildcarded cpreg definitions with precise ones for ARMv8

Many of the reginfo definitions in cp_reginfo[] use CP_ANY wildcards.
This is for a combination of reasons:
 * early ARM implementations really did underdecode
 * earlier versions of QEMU underdecoded and we can't tighten
   this up because we don't know if guests really require this or not
 * implementation convenience

For ARMv8 the architecture has tightened things up and system and
coprocessor registers are always specifically decoded. We take
advantage of this opportunity for a clean break by restricting
our CP_ANY wildcarded reginfo to pre-v8 CPUs, and providing
specifically decoded versions where necessary for v8 CPUs.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
target-arm/helper.c