-/* Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011. The SimGrid Team.
+/* Copyright (c) 2006-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
static char *old_buff = NULL;
-unsigned int surfxml_buffer_stack_stack_ptr;
-unsigned int surfxml_buffer_stack_stack[1024];
+XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack_ptr;
+XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack[1024];
void surfxml_bufferstack_push(int new)
xbt_dict_t trace_connect_list_bandwidth = NULL;
xbt_dict_t trace_connect_list_latency = NULL;
+/* ********************************************* */
+/* TUTORIAL: New TAG */
+/* This function should be in gpu.c */
+/* because sg_platf_gpu_add_cb take a staic fct */
+XBT_PUBLIC(void) gpu_register_callbacks(void){
+ sg_platf_gpu_add_cb(NULL);
+}
+/* ***************************************** */
+
+static int after_config_done;
+void parse_after_config() {
+ if (!after_config_done) {
+ TRACE_start();
+
+ /* Register classical callbacks */
+ storage_register_callbacks();
+ routing_register_callbacks();
+ gpu_register_callbacks();
+
+ /* ***************************************** */
+ /* TUTORIAL: New TAG */
+ /* ***************************************** */
+ after_config_done = 1;
+ }
+}
+
/* This function acts as a main in the parsing area. */
void parse_platform_file(const char *file)
{
surf_parse_init_callbacks();
- /* Register classical callbacks */
- storage_register_callbacks();
- routing_register_callbacks();
-
/* init the flex parser */
surfxml_buffer_stack_stack_ptr = 1;
surfxml_buffer_stack_stack[0] = 0;
-
+ after_config_done = 0;
surf_parse_open(file);
/* Init my data */
/* Stop the flex parser */
surf_parse_close();
if (parse_status)
- xbt_die("Parse error in %s", file);
+ surf_parse_error("Parse error in %s", file);
}