-
-/**
- * \ingroup simix_vm_management
- * \brief Create a VM on the given physical host.
- *
- * \param name VM name
- * \param host Physical host
- *
- * \return The host object of the VM
- */
-void* simcall_vm_create(const char *name, sg_host_t phys_host)
-{
- return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_create, name, phys_host));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Start the given VM to the given physical host
- *
- * \param vm VM
- */
-void simcall_vm_start(sg_host_t vm)
-{
- simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_start, vm));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Get the state of the given VM
- *
- * \param vm VM
- * \return The state of the VM
- */
-int simcall_vm_get_state(sg_host_t vm)
-{
- return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_get_state, vm));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Get the name of the physical host on which the given VM runs.
- *
- * \param vm VM
- * \return The name of the physical host
- */
-void *simcall_vm_get_pm(sg_host_t vm)
-{
- return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_get_pm, vm));
-}
-
-void simcall_vm_set_bound(sg_host_t vm, double bound)
-{
- simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_set_bound, vm, bound));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Migrate the given VM to the given physical host
- *
- * \param vm VM
- * \param host Destination physical host
- */
-void simcall_vm_migrate(sg_host_t vm, sg_host_t host)
-{
- simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_migrate, vm, host));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Suspend the given VM
- *
- * \param vm VM
- */
-void simcall_vm_suspend(sg_host_t vm)
-{
- simcall_BODY_vm_suspend(vm);
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Resume the given VM
- *
- * \param vm VM
- */
-void simcall_vm_resume(sg_host_t vm)
-{
- simcall_BODY_vm_resume(vm);
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Save the given VM
- *
- * \param vm VM
- */
-void simcall_vm_save(sg_host_t vm)
-{
- simcall_BODY_vm_save(vm);
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Restore the given VM
- *
- * \param vm VM
- */
-void simcall_vm_restore(sg_host_t vm)
-{
- simcall_BODY_vm_restore(vm);
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Shutdown the given VM
- *
- * \param vm VM
- */
-void simcall_vm_shutdown(sg_host_t vm)
-{
- simcall_BODY_vm_shutdown(vm);
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Destroy the given VM
- *
- * \param vm VM
- */
-void simcall_vm_destroy(sg_host_t vm)
-{
- simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_destroy, vm));
-}
-
-/**
- * \ingroup simix_vm_management
- * \brief Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration
- * The simcall actually invokes the following calls:
- * simcall_vm_migrate(vm, dst_pm);
- * simcall_vm_resume(vm);
- *
- * It is called at the end of the migration_rx_fun function from msg/msg_vm.c
- *
- * \param vm VM to migrate
- * \param src_pm Source physical host
- * \param dst_pmt Destination physical host
- */
-void simcall_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm)
-{
- simgrid::simix::kernelImmediate(std::bind(
- SIMIX_vm_migratefrom_resumeto, vm, src_pm, dst_pm));
-}
-