Ignore:
Timestamp:
Jan 17, 2014, 11:49:27 PM (11 years ago)
Author:
cfuguet
Message:
  • Bugfix: The ISR_SWITCH index should be NB_PROCS_MAX + local_pid. This is because the first NB_PROCS_MAX indexes on the XICU in each cluster are used for the WAKEUP software interrupts.
  • Relocating the memcpy and memset functions into the giet_libs/stdlib.* files.
  • Modification of the sort application to used 8 threads instead of
    1. Modifying the mapping files to distribute the 8 threads on the available processors. (Ex. When using 4 processors, each one executes 2 threads)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/mappings/4c_1p_sort.xml

    r270 r271  
    5959
    6060        <cluster x = "0" y = "1" >
     61            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0001000000" />
     62            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01B0000000" length = "0x0000002000" />
     63            <pseg name = "PSEG_DMA"  type = "PERI" base = "0x01B1000000" length = "0x0000008000" />
     64            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01B8000000" length = "0x0000001000" />
     65
     66            <proc index = "0" >
     67                <irq type = "SOFT" icuid = "0" isr = "ISR_WAKUP" />
     68                <irq type = "TIME" icuid = "1" isr = "ISR_SWITCH" />
     69            </proc>
     70
     71            <periph type = "DMA"  psegname = "PSEG_DMA"  channels = "1" />
     72            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "1" />
     73            <periph type = "MMC"  psegname = "PSEG_MMC"  channels = "1" />
     74        </cluster>
     75
     76        <cluster x = "1" y = "0" >
    6177            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1000000000" length = "0x0001000000" />
    6278            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x10B0000000" length = "0x0000002000" />
    6379            <pseg name = "PSEG_DMA"  type = "PERI" base = "0x10B1000000" length = "0x0000008000" />
    6480            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x10B8000000" length = "0x0000001000" />
    65 
    66             <proc index = "0" >
    67                 <irq type = "SOFT" icuid = "0" isr = "ISR_WAKUP" />
    68                 <irq type = "TIME" icuid = "1" isr = "ISR_SWITCH" />
    69             </proc>
    70 
    71             <periph type = "DMA"  psegname = "PSEG_DMA"  channels = "1" />
    72             <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "1" />
    73             <periph type = "MMC"  psegname = "PSEG_MMC"  channels = "1" />
    74         </cluster>
    75 
    76         <cluster x = "1" y = "0" >
    77             <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0001000000" />
    78             <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01B0000000" length = "0x0000002000" />
    79             <pseg name = "PSEG_DMA"  type = "PERI" base = "0x01B1000000" length = "0x0000008000" />
    80             <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01B8000000" length = "0x0000001000" />
    8181
    8282            <proc index = "0" >
     
    255255            <vseg name = "seg_sort_stack0" vbase = "0x00800000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
    256256                <vobj name = "sort_stack0" type  = "BUFFER" length = "0x00010000" />
     257                <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
    257258                <vobj name = "sort_heap0"  type  = "BUFFER" length = "0x00010000" />
    258259            </vseg>
    259260            <vseg name = "seg_sort_stack1" vbase = "0x00A00000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
    260                 <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
     261                <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     262                <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
    261263                <vobj name = "sort_heap1"  type  = "BUFFER" length = "0x00010000" />
    262264            </vseg>
    263265            <vseg name = "seg_sort_stack2" vbase = "0x00C00000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
    264                 <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     266                <vobj name = "sort_stack4" type  = "BUFFER" length = "0x00010000" />
     267                <vobj name = "sort_stack5" type  = "BUFFER" length = "0x00010000" />
    265268                <vobj name = "sort_heap2"  type  = "BUFFER" length = "0x00010000" />
    266269            </vseg>
    267270            <vseg name = "seg_sort_stack3" vbase = "0x00E00000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
    268                 <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
     271                <vobj name = "sort_stack6" type  = "BUFFER" length = "0x00010000" />
     272                <vobj name = "sort_stack7" type  = "BUFFER" length = "0x00010000" />
    269273                <vobj name = "sort_heap3"  type  = "BUFFER" length = "0x00010000" />
    270274            </vseg>
    271275
    272             <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap3" startid = "0" usetty = "1" />
    273             <task name = "sort_1" trdid = "1" x = "0" y = "1" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap3" startid = "0" usetty = "1" />
    274             <task name = "sort_2" trdid = "2" x = "1" y = "0" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap3" startid = "0" usetty = "1" />
    275             <task name = "sort_3" trdid = "3" x = "1" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap3" startid = "0" usetty = "1" />
     276            <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap0" startid = "0" usetty = "1" />
     277            <task name = "sort_1" trdid = "1" x = "0" y = "0" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap0" startid = "0" usetty = "1" />
     278            <task name = "sort_2" trdid = "2" x = "0" y = "1" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap1" startid = "0" usetty = "1" />
     279            <task name = "sort_3" trdid = "3" x = "0" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap1" startid = "0" usetty = "1" />
     280            <task name = "sort_4" trdid = "4" x = "1" y = "0" proclocid = "0" stackname = "sort_stack4" heapname = "sort_heap2" startid = "0" usetty = "1" />
     281            <task name = "sort_5" trdid = "5" x = "1" y = "0" proclocid = "0" stackname = "sort_stack5" heapname = "sort_heap2" startid = "0" usetty = "1" />
     282            <task name = "sort_6" trdid = "6" x = "1" y = "1" proclocid = "0" stackname = "sort_stack6" heapname = "sort_heap3" startid = "0" usetty = "1" />
     283            <task name = "sort_7" trdid = "7" x = "1" y = "1" proclocid = "0" stackname = "sort_stack7" heapname = "sort_heap3" startid = "0" usetty = "1" />
    276284        </vspace>
    277285    </vspaceset>
Note: See TracChangeset for help on using the changeset viewer.