Ignore:
Timestamp:
Jun 10, 2014, 1:31:01 PM (10 years ago)
Author:
alain
Message:

ntroducing several modifs in the mapping_info data structure
to comply with the genmap tool.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_xml/xml_driver.c

    r306 r323  
    6565        "ISR_NIC_TX",
    6666        "ISR_CMA",
     67        "ISR_MMC",
     68        "ISR_DMA",
     69        "ISR_SPI",
    6770    };
    6871
     
    9295        "HBA",
    9396        "SPI",
     97        "NONE",
    9498    };
    9599
     
    300304                 port_id++)
    301305            {
    302                 unsigned int vobj_id = cp_port[port_id].mwmr_vobjid + vspace[cp_port[port_id].vspaceid].vobj_offset;
    303                 fprintf(fpout, "             <port direction=\"%s\"",  port_direction[cp_port[port_id].direction]);
     306                unsigned int vobj_id = cp_port[port_id].mwmr_vobj_id;
     307                fprintf(fpout, "             <port direction=\"%s\"", port_direction[cp_port[port_id].direction]);
    304308                fprintf(fpout, " vspacename=\"%s\"", vspace[cp_port[port_id].vspaceid].name);
    305309                fprintf(fpout, " vobjname=\"%s\" />\n",  vobj[vobj_id].name);
     
    320324
    321325            fprintf(fpout, " psegname=\"%s\"", pseg[periph[periph_id].psegid].name);
    322             fprintf(fpout, " channels=\"%d\" >\n",  periph[periph_id].channels);
    323             if ( periph[periph_id].type == PERIPH_TYPE_PIC )
    324             {
    325                 for (irq_id = periph[periph_id].irq_offset;
    326                      irq_id < periph[periph_id].irq_offset + periph[periph_id].irqs;
    327                      irq_id++)
    328                 {
    329                     fprintf(fpout, "                <irq srcid=\"%d\" ", irq[irq_id].srcid);
    330                     fprintf(fpout, " dstx=\"%d\"", irq[irq_id].dstx);
    331                     fprintf(fpout, " dsty=\"%d\"", irq[irq_id].dsty);
    332                     fprintf(fpout, " dstid=\"%d\" />\n", irq[irq_id].dstid);
    333                 }
    334             }
    335             if ( (periph[periph_id].type == PERIPH_TYPE_XCU ) ||
    336                  (periph[periph_id].type == PERIPH_TYPE_ICU ) )
     326            fprintf(fpout, " channels=\"%d\"",  periph[periph_id].channels);
     327            fprintf(fpout, " arg=\"%d\" >\n",  periph[periph_id].arg);
     328            if ( (periph[periph_id].type == PERIPH_TYPE_PIC) ||
     329                 (periph[periph_id].type == PERIPH_TYPE_XCU) ||
     330                 (periph[periph_id].type == PERIPH_TYPE_ICU) )
    337331            {
    338332                for (irq_id = periph[periph_id].irq_offset;
     
    343337                    fprintf(fpout, " srcid=\"%d\"", irq[irq_id].srcid);
    344338                    fprintf(fpout, " isr=\"%s\"", isr_type[irq[irq_id].isr]);
    345                     fprintf(fpout, " channel=\"%d\"", irq[irq_id].channel);
    346                     fprintf(fpout, " dstid=\"%d\" />\n", irq[irq_id].dstid);
     339                    fprintf(fpout, " channel=\"%d\" />\n", irq[irq_id].channel);
    347340                }
    348341            }
     
    396389    for (vspace_id = 0; vspace_id < header->vspaces; vspace_id++)
    397390    {
    398         unsigned int func_id = vspace[vspace_id].vobj_offset + vspace[vspace_id].start_offset;
     391        unsigned int vobj_id = vspace[vspace_id].start_vobj_id;
    399392        fprintf(fpout, "        <vspace name = \"%s\" ", vspace[vspace_id].name);
    400         fprintf(fpout, " startname = \"%s\" >\n", vobj[func_id].name);
     393        fprintf(fpout, " startname = \"%s\" >\n", vobj[vobj_id].name);
    401394
    402395        //////////////////// vsegs //////////////////////////////////////////////
     
    444437             task_id++)
    445438        {
    446             unsigned int stack_vobj_id = task[task_id].stack_vobjid + vspace[vspace_id].vobj_offset;
    447             unsigned int heap_vobj_id = task[task_id].heap_vobjid + vspace[vspace_id].vobj_offset;
    448             unsigned int cluster_id   = task[task_id].clusterid;
     439            unsigned int stack_vobj_id = task[task_id].stack_vobj_id;
     440            unsigned int heap_vobj_id  = task[task_id].heap_vobj_id;
     441            unsigned int cluster_id    = task[task_id].clusterid;
    449442
    450443            fprintf(fpout, "            <task name=\"%s\"", task[task_id].name);
Note: See TracChangeset for help on using the changeset viewer.