X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e651064c117835e8a9340bc416a6dc1781cc56d..70388188c97f56fbe2b645c9b00dcb05d0b86509:/src/surf/cpu_ti.c diff --git a/src/surf/cpu_ti.c b/src/surf/cpu_ti.c index 876688ddae..fe6e4f446e 100644 --- a/src/surf/cpu_ti.c +++ b/src/surf/cpu_ti.c @@ -143,7 +143,7 @@ static surf_cpu_ti_tgmr_t cpu_ti_parse_trace(tmgr_trace_t power_trace, } -static void* cpu_ti_create_resource(char *name, double power_peak, +static void* cpu_ti_create_resource(const char *name, double power_peak, double power_scale, tmgr_trace_t power_trace, int core, @@ -153,18 +153,17 @@ static void* cpu_ti_create_resource(char *name, double power_peak, { tmgr_trace_t empty_trace; s_tmgr_event_t val; - cpu_ti_t cpu = xbt_new0(s_cpu_ti_t, 1); + cpu_ti_t cpu = NULL; s_surf_action_cpu_ti_t ti_action; xbt_assert(core==1,"Multi-core not handled with this model yet"); xbt_assert(!surf_cpu_resource_by_name(name), "Host '%s' declared several times in the platform file", name); xbt_assert(core==1,"Multi-core not handled with this model yet"); + cpu = (cpu_ti_t) surf_resource_new(sizeof(s_cpu_ti_t), + surf_cpu_model, name,cpu_properties); cpu->action_set = xbt_swag_new(xbt_swag_offset(ti_action, cpu_list_hookup)); - cpu->generic_resource.model = surf_cpu_model; - cpu->generic_resource.name = name; - cpu->generic_resource.properties = cpu_properties; cpu->power_peak = power_peak; xbt_assert(cpu->power_peak > 0, "Power has to be >0"); XBT_DEBUG("power scale %lf", power_scale); @@ -191,15 +190,15 @@ static void* cpu_ti_create_resource(char *name, double power_peak, } -static void parse_cpu_ti_init(void) +static void parse_cpu_ti_init(surf_parsing_host_arg_t host) { - cpu_ti_create_resource(struct_host->V_host_id, - struct_host->V_host_power_peak, - struct_host->V_host_power_scale, - struct_host->V_host_power_trace, - struct_host->V_host_core, - struct_host->V_host_state_initial, - struct_host->V_host_state_trace, + cpu_ti_create_resource(host->V_host_id, + host->V_host_power_peak, + host->V_host_power_scale, + host->V_host_power_trace, + host->V_host_core, + host->V_host_state_initial, + host->V_host_state_trace, current_property_set); current_property_set = NULL; @@ -262,9 +261,9 @@ static void add_traces_cpu_ti(void) } } -static void cpu_ti_define_callbacks(const char *file) +static void cpu_ti_define_callbacks() { - surfxml_add_callback(ETag_surfxml_host_cb_list, parse_cpu_ti_init); + surf_parse_host_add_cb(parse_cpu_ti_init); surfxml_add_callback(ETag_surfxml_platform_cb_list, &add_traces_cpu_ti); } @@ -805,12 +804,12 @@ static void surf_cpu_ti_model_init_internal(void) } -void surf_cpu_model_init_ti(const char *filename) +void surf_cpu_model_init_ti() { if (surf_cpu_model) return; surf_cpu_ti_model_init_internal(); - cpu_ti_define_callbacks(filename); + cpu_ti_define_callbacks(); xbt_dynar_push(model_list, &surf_cpu_model); }