- createResource(host->id,
- host->power_peak,
- host->pstate,
- host->power_scale,
- host->power_trace,
- host->core_amount,
- host->initial_state,
- host->state_trace,
- host->properties);
-}
-
-CpuPtr CpuCas01Model::createResource(const char *name, xbt_dynar_t power_peak,
- int pstate, double power_scale,
- tmgr_trace_t power_trace, int core,
- e_surf_resource_state_t state_initial,
- tmgr_trace_t state_trace,
- xbt_dict_t cpu_properties)
-{
- CpuPtr cpu = NULL;
- xbt_assert(!surf_cpu_resource_priv(surf_cpu_resource_by_name(name)),
- "Host '%s' declared several times in the platform file",
- name);
- xbt_assert(xbt_dynar_getfirst_as(power_peak, double) > 0.0,
- "Power has to be >0.0");
- xbt_assert(core > 0, "Invalid number of cores %d", core);
-
- cpu = new CpuCas01(this, name, power_peak, pstate, power_scale, power_trace, core, state_initial, state_trace, cpu_properties);
- xbt_lib_set(host_lib, name, SURF_CPU_LEVEL, static_cast<ResourcePtr>(cpu));
-
+ xbt_assert(xbt_dynar_getfirst_as(speedPeak, double) > 0.0,
+ "Speed has to be >0.0. Did you forget to specify the mandatory power attribute?");
+ xbt_assert(core > 0, "Invalid number of cores %d. Must be larger than 0", core);
+ Cpu *cpu = new CpuCas01(this, host, speedPeak, pstate, speedScale, speedTrace, core, initiallyOn, state_trace);