Revision bbc5c5fa

b/target-arm/helper.c
123 123
        env->cp15.c0_cachetype = 0x1dd20d2;
124 124
        break;
125 125
    case ARM_CPUID_CORTEXA8:
126
        set_feature(env, ARM_FEATURE_V6K);
127 126
        set_feature(env, ARM_FEATURE_V7);
128 127
        set_feature(env, ARM_FEATURE_AUXCR);
129 128
        set_feature(env, ARM_FEATURE_THUMB2);
......
144 143
        env->cp15.c1_sys = 0x00c50078;
145 144
        break;
146 145
    case ARM_CPUID_CORTEXA9:
147
        set_feature(env, ARM_FEATURE_V6K);
148 146
        set_feature(env, ARM_FEATURE_V7);
149 147
        set_feature(env, ARM_FEATURE_AUXCR);
150 148
        set_feature(env, ARM_FEATURE_THUMB2);
......
170 168
        env->cp15.c1_sys = 0x00c50078;
171 169
        break;
172 170
    case ARM_CPUID_CORTEXM3:
173
        set_feature(env, ARM_FEATURE_V6);
174 171
        set_feature(env, ARM_FEATURE_THUMB2);
175 172
        set_feature(env, ARM_FEATURE_V7);
176 173
        set_feature(env, ARM_FEATURE_M);
177 174
        set_feature(env, ARM_FEATURE_THUMB_DIV);
178 175
        break;
179 176
    case ARM_CPUID_ANY: /* For userspace emulation.  */
180
        set_feature(env, ARM_FEATURE_V6K);
181 177
        set_feature(env, ARM_FEATURE_V7);
182 178
        set_feature(env, ARM_FEATURE_THUMB2);
183 179
        set_feature(env, ARM_FEATURE_VFP);
......
237 233
    /* Some features automatically imply others: */
238 234
    if (arm_feature(env, ARM_FEATURE_V7)) {
239 235
        set_feature(env, ARM_FEATURE_VAPA);
236
        if (!arm_feature(env, ARM_FEATURE_M)) {
237
            set_feature(env, ARM_FEATURE_V6K);
238
        } else {
239
            set_feature(env, ARM_FEATURE_V6);
240
        }
240 241
    }
241 242
    if (arm_feature(env, ARM_FEATURE_V6K)) {
242 243
        set_feature(env, ARM_FEATURE_V6);

Also available in: Unified diff