#include "smx_private.h"
#ifdef HAVE_MC
-#include "mc/mc_process.h"
+#include "mc/mc_forward.h"
#endif
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_popping);
[SIMCALL_HOST_GET_CURRENT_POWER_PEAK] = "SIMCALL_HOST_GET_CURRENT_POWER_PEAK",
[SIMCALL_HOST_GET_POWER_PEAK_AT] = "SIMCALL_HOST_GET_POWER_PEAK_AT",
[SIMCALL_HOST_GET_NB_PSTATES] = "SIMCALL_HOST_GET_NB_PSTATES",
- [SIMCALL_HOST_SET_POWER_PEAK_AT] = "SIMCALL_HOST_SET_POWER_PEAK_AT",
+ [SIMCALL_HOST_GET_WATTMIN_AT] = "SIMCALL_HOST_GET_WATTMIN_AT",
+ [SIMCALL_HOST_GET_WATTMAX_AT] = "SIMCALL_HOST_GET_WATTMAX_AT",
+ [SIMCALL_HOST_SET_PSTATE] = "SIMCALL_HOST_SET_PSTATE",
+ [SIMCALL_HOST_GET_PSTATE] = "SIMCALL_HOST_GET_PSTATE",
[SIMCALL_HOST_GET_CONSUMED_ENERGY] = "SIMCALL_HOST_GET_CONSUMED_ENERGY",
[SIMCALL_HOST_EXECUTE] = "SIMCALL_HOST_EXECUTE",
[SIMCALL_HOST_PARALLEL_EXECUTE] = "SIMCALL_HOST_PARALLEL_EXECUTE",
[SIMCALL_VM_SHUTDOWN] = "SIMCALL_VM_SHUTDOWN",
[SIMCALL_VM_SAVE] = "SIMCALL_VM_SAVE",
[SIMCALL_VM_RESTORE] = "SIMCALL_VM_RESTORE",
+ [SIMCALL_VM_MIGRATEFROM_RESUMETO] = "SIMCALL_VM_MIGRATEFROM_RESUMETO",
[SIMCALL_PROCESS_CREATE] = "SIMCALL_PROCESS_CREATE",
[SIMCALL_PROCESS_KILL] = "SIMCALL_PROCESS_KILL",
[SIMCALL_PROCESS_KILLALL] = "SIMCALL_PROCESS_KILLALL",
*/
void SIMIX_simcall_handle(smx_simcall_t simcall, int value) {
XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call));
- #ifdef HAVE_MC
- if (mc_model_checker) {
- MC_invalidate_cache();
- }
- #endif
SIMCALL_SET_MC_VALUE(simcall, value);
if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
return;
SIMIX_simcall_answer(simcall);
break;
-case SIMCALL_HOST_SET_POWER_PEAK_AT:
- SIMIX_host_set_power_peak_at((smx_host_t) simcall->args[0].dp, simcall->args[1].i);
+case SIMCALL_HOST_GET_WATTMIN_AT:
+ simcall->result.d = SIMIX_host_get_wattmin_at((smx_host_t) simcall->args[0].dp, simcall->args[1].i);
+ SIMIX_simcall_answer(simcall);
+ break;
+
+case SIMCALL_HOST_GET_WATTMAX_AT:
+ simcall->result.d = SIMIX_host_get_wattmax_at((smx_host_t) simcall->args[0].dp, simcall->args[1].i);
+ SIMIX_simcall_answer(simcall);
+ break;
+
+case SIMCALL_HOST_SET_PSTATE:
+ SIMIX_host_set_pstate((smx_host_t) simcall->args[0].dp, simcall->args[1].i);
+ SIMIX_simcall_answer(simcall);
+ break;
+
+case SIMCALL_HOST_GET_PSTATE:
+ simcall->result.i = SIMIX_host_get_pstate((smx_host_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
SIMIX_simcall_answer(simcall);
break;
+case SIMCALL_VM_MIGRATEFROM_RESUMETO:
+ SIMIX_vm_migratefrom_resumeto((smx_host_t) simcall->args[0].dp,(smx_host_t) simcall->args[1].dp,(smx_host_t) simcall->args[2].dp);
+ SIMIX_simcall_answer(simcall);
+ break;
+
case SIMCALL_PROCESS_CREATE:
simcall_HANDLER_process_create(simcall , (smx_process_t*) simcall->args[0].dp, simcall->args[1].cc, (xbt_main_func_t) simcall->args[2].fp, simcall->args[3].dp, simcall->args[4].cc, simcall->args[5].d, simcall->args[6].i, (char**) simcall->args[7].dp, (xbt_dict_t) simcall->args[8].dp, simcall->args[9].i);
SIMIX_simcall_answer(simcall);