Revision 00ea18d1

b/target-i386/op_helper.c
1191 1191
        EIP = next_eip;
1192 1192
}
1193 1193

  
1194
#if !defined(CONFIG_USER_ONLY)
1194 1195
static void handle_even_inj(int intno, int is_int, int error_code,
1195 1196
		int is_hw, int rm)
1196 1197
{
......
1209 1210
	    stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj), event_inj);
1210 1211
    }
1211 1212
}
1213
#endif
1212 1214

  
1213 1215
/*
1214 1216
 * Begin execution of an interruption. is_int is TRUE if coming from
......
1250 1252
        }
1251 1253
    }
1252 1254
    if (env->cr[0] & CR0_PE_MASK) {
1255
#if !defined(CONFIG_USER_ONLY)
1253 1256
        if (env->hflags & HF_SVMI_MASK)
1254 1257
            handle_even_inj(intno, is_int, error_code, is_hw, 0);
1258
#endif
1255 1259
#ifdef TARGET_X86_64
1256 1260
        if (env->hflags & HF_LMA_MASK) {
1257 1261
            do_interrupt64(intno, is_int, error_code, next_eip, is_hw);
......
1261 1265
            do_interrupt_protected(intno, is_int, error_code, next_eip, is_hw);
1262 1266
        }
1263 1267
    } else {
1268
#if !defined(CONFIG_USER_ONLY)
1264 1269
        if (env->hflags & HF_SVMI_MASK)
1265 1270
            handle_even_inj(intno, is_int, error_code, is_hw, 1);
1271
#endif
1266 1272
        do_interrupt_real(intno, is_int, error_code, next_eip);
1267 1273
    }
1268 1274

  
1275
#if !defined(CONFIG_USER_ONLY)
1269 1276
    if (env->hflags & HF_SVMI_MASK) {
1270 1277
	    uint32_t event_inj = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj));
1271 1278
	    stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj), event_inj & ~SVM_EVTINJ_VALID);
1272 1279
    }
1280
#endif
1273 1281
}
1274 1282

  
1275 1283
/* This should come from sysemu.h - if we could include it here... */

Also available in: Unified diff