Ignore:
Timestamp:
Mar 5, 2013, 4:00:09 PM (12 years ago)
Author:
meunier
Message:

Ajout du malloc dans le Giet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/xml/xml_parser.c

    r231 r232  
    109109unsigned int cluster_y            = 0;
    110110unsigned int cluster_x            = 0;
    111 unsigned int nb_proc_max          = 0; // max number of processors per cluster
     111unsigned int nb_proc_max          = 0; // max number of processors per cluste
     112
     113unsigned int nb_tasks_max         = 0; // max number of tasks (for all vspaces)
    112114unsigned int nb_timer_channel_max = 0; // max number of user timer
    113115unsigned int nb_dma_channel_max   = 0;
     
    350352            printf("      stackid   = %d\n", index);
    351353#endif
    352             task[task_index]->vobjlocid = index;
     354            task[task_index]->stack_vobjid = index;
    353355        }
    354356        else {
     
    363365        exit(1);
    364366    }
     367
     368    ////////// get heap attribute
     369    str = getStringValue(reader, "heapname", &ok);
     370    if (ok) {
     371        int index = getVobjLocId(vspace_index, str, vobj_loc_index);
     372        if (index >= 0) {
     373#if XML_PARSER_DEBUG
     374            printf("      heapname = %s\n", str);
     375            printf("      heapid   = %d\n", index);
     376#endif
     377            task[task_index]->heap_vobjid = index;
     378        }
     379        else {
     380            printf("[XML ERROR] illegal or missing <heapname> for task (%d,%d)\n", vspace_index, task_loc_index);
     381            exit(1);
     382        }
     383    } 
     384    else {
     385        task[task_index]->heap_vobjid = -1;
     386    }
     387
    365388
    366389    ////////// get startid  attribute
     
    715738    char * str;
    716739    unsigned int ok;
     740    unsigned int nb_task_vspace = 0;
    717741
    718742    vobj_loc_index = 0;
     
    782806        else if (strcmp(tag, "task") == 0) {
    783807            taskNode(reader);
     808            nb_task_vspace++;
    784809        }
    785810        else if (strcmp(tag, "#text")    == 0) { }
     
    818843            }
    819844
     845            nb_tasks_max += nb_task_vspace;
    820846            vspace_index++;
    821847            return;
     
    19341960            printf("      vobj_index   = %d\n", vobj_id);
    19351961#endif
    1936             cp_port[i]->vobjlocid = vobj_id;
     1962            cp_port[i]->mwmr_vobjid = vobj_id;
    19371963
    19381964            assert((vobj[ vspace[vspace_id]->vobj_offset + vobj_id]->type == VOBJ_TYPE_MWMR)
     
    19902016    def_int_write(fdout, "NB_IOCS"      , nb_ioc_channel);
    19912017    def_int_write(fdout, "NB_NICS"      , nb_nic_channel);
     2018    def_int_write(fdout, "NB_TASKS"     , nb_tasks_max);
    19922019
    19932020    file_write(fdout, "\n");
Note: See TracChangeset for help on using the changeset viewer.