XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_cas, surf_cpu,
"Logging specific to the SURF CPU IMPROVED module");
-/*************
- * CallBacks *
- *************/
-
-static void cpu_define_callbacks()
-{
- sg_platf_host_add_cb(cpu_parse_init);
- sg_platf_postparse_add_cb(cpu_add_traces);
-}
-
/*********
* Model *
*********/
surf_cpu_model_pm = new CpuCas01Model();
surf_cpu_model_vm = new CpuCas01Model();
- cpu_define_callbacks();
+ sg_platf_host_add_cb(cpu_parse_init);
+ sg_platf_postparse_add_cb(cpu_add_traces);
+
ModelPtr model_pm = surf_cpu_model_pm;
ModelPtr model_vm = surf_cpu_model_vm;
xbt_dynar_push(model_list, &model_pm);
xbt_dict_t cpu_properties)
{
CpuPtr cpu = NULL;
- xbt_assert(!surf_cpu_resource_priv(surf_cpu_resource_by_name(name)),
+ sg_host_t host = sg_host_by_name(name);
+ xbt_assert(!sg_host_surfcpu(host),
"Host '%s' declared several times in the platform file",
name);
xbt_assert(xbt_dynar_getfirst_as(power_peak, double) > 0.0,
xbt_assert(core > 0, "Invalid number of cores %d. Must be larger than 0", 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, cpu);
+ sg_host_surfcpu_set(host, cpu);
return cpu;
}
/* connect all traces relative to hosts */
xbt_dict_foreach(trace_connect_list_host_avail, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuCas01Ptr host = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
+ CpuCas01Ptr host = static_cast<CpuCas01Ptr>(sg_host_surfcpu(sg_host_by_name(elm)));
xbt_assert(host, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuCas01Ptr host = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
+ CpuCas01Ptr host = static_cast<CpuCas01Ptr>(sg_host_surfcpu(sg_host_by_name(elm)));
xbt_assert(host, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
m_powerPeak = new_pstate;
}
+int CpuCas01::getPstate()
+{
+ return m_pstate;
+}
+
/**********
* Action *
**********/