Revision f55761a0 target-i386/op_helper.c

b/target-i386/op_helper.c
1251 1251
    }
1252 1252
}
1253 1253

  
1254
/* This should come from sysemu.h - if we could include it here... */
1255
void qemu_system_reset_request(void);
1256

  
1254 1257
/*
1255 1258
 * Check nested exceptions and change to double or triple fault if
1256 1259
 * needed. It should only be called, if this is not an interrupt.
......
1267 1270
    qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n",
1268 1271
                env->old_exception, intno);
1269 1272

  
1270
    if (env->old_exception == EXCP08_DBLE)
1271
        cpu_abort(env, "triple fault");
1273
#if !defined(CONFIG_USER_ONLY)
1274
    if (env->old_exception == EXCP08_DBLE) {
1275
        if (env->hflags & HF_SVMI_MASK)
1276
            helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */
1277

  
1278
        if (loglevel & CPU_LOG_RESET)
1279
            fprintf(logfile, "Triple fault\n");
1280

  
1281
        qemu_system_reset_request();
1282
        return EXCP_HLT;
1283
    }
1284
#endif
1272 1285

  
1273 1286
    if ((first_contributory && second_contributory)
1274 1287
        || (env->old_exception == EXCP0E_PAGE &&

Also available in: Unified diff