target-arm: Allow special cpregs to have flags set
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 25 Jun 2013 17:16:06 +0000 (18:16 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 25 Jun 2013 17:16:09 +0000 (18:16 +0100)
Relax the "is this a valid ARMCPRegInfo type value?" check to permit
"special" cpregs to have flags other than ARM_CP_SPECIAL set. At
the moment none of the other flags are relevant for special regs,
but the migration related flag we're about to introduce can apply
here too.

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

index 5438444..737c00c 100644 (file)
@@ -456,7 +456,7 @@ static inline bool cptype_valid(int cptype)
 {
     return ((cptype & ~ARM_CP_FLAG_MASK) == 0)
         || ((cptype & ARM_CP_SPECIAL) &&
-            (cptype <= ARM_LAST_SPECIAL));
+            ((cptype & ~ARM_CP_FLAG_MASK) <= ARM_LAST_SPECIAL));
 }
 
 /* Access rights: