Revision 918f5dca

b/target-arm/cpu.c
129 129

  
130 130
static inline void set_feature(CPUARMState *env, int feature)
131 131
{
132
    env->features |= 1u << feature;
132
    env->features |= 1ULL << feature;
133 133
}
134 134

  
135 135
static void arm_cpu_initfn(Object *obj)
b/target-arm/cpu.h
221 221
    /* These fields after the common ones so they are preserved on reset.  */
222 222

  
223 223
    /* Internal CPU feature flags.  */
224
    uint32_t features;
224
    uint64_t features;
225 225

  
226 226
    void *nvic;
227 227
    const struct arm_boot_info *boot_info;
......
392 392

  
393 393
static inline int arm_feature(CPUARMState *env, int feature)
394 394
{
395
    return (env->features & (1u << feature)) != 0;
395
    return (env->features & (1ULL << feature)) != 0;
396 396
}
397 397

  
398 398
void arm_cpu_list(FILE *f, fprintf_function cpu_fprintf);
......
638 638
#define cpu_signal_handler cpu_arm_signal_handler
639 639
#define cpu_list arm_cpu_list
640 640

  
641
#define CPU_SAVE_VERSION 7
641
#define CPU_SAVE_VERSION 8
642 642

  
643 643
/* MMU modes definitions */
644 644
#define MMU_MODE0_SUFFIX _kernel
b/target-arm/machine.c
60 60
    qemu_put_be32(f, env->cp15.c15_diagnostic);
61 61
    qemu_put_be32(f, env->cp15.c15_power_diagnostic);
62 62

  
63
    qemu_put_be32(f, env->features);
63
    qemu_put_be64(f, env->features);
64 64

  
65 65
    if (arm_feature(env, ARM_FEATURE_VFP)) {
66 66
        for (i = 0;  i < 16; i++) {
......
177 177
    env->cp15.c15_diagnostic = qemu_get_be32(f);
178 178
    env->cp15.c15_power_diagnostic = qemu_get_be32(f);
179 179

  
180
    env->features = qemu_get_be32(f);
180
    env->features = qemu_get_be64(f);
181 181

  
182 182
    if (arm_feature(env, ARM_FEATURE_VFP)) {
183 183
        for (i = 0;  i < 16; i++) {

Also available in: Unified diff