Changeset 441 for soft/giet_vm/giet_python/mapping.py
- Timestamp:
- Nov 3, 2014, 11:15:07 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_python/mapping.py
r425 r441 19 19 # a set of 'Task' (user tasks mapping) 20 20 # - A 'Vseg' contains a set of 'Vobj' 21 # - A 'Periph' contains a set of 'Irq' (only for XCU , ICUand PIC types )21 # - A 'Periph' contains a set of 'Irq' (only for XCU and PIC types ) 22 22 # - A 'Coproc' contains a set of 'Cpports' (one port per MWMR channel) 23 23 ########################################################################################## … … 54 54 'DMA', 55 55 'FBF', 56 'ICU',57 56 'IOB', 58 57 'IOC', … … 173 172 self.x_size = x_size 174 173 self.y_size = y_size 175 self.nprocs = nprocs174 self.nprocs = nprocs 176 175 self.x_width = x_width 177 176 self.y_width = y_width … … 494 493 stackname, # name of vobj containing stack 495 494 heapname, # name of vobj containing heap 496 startid, # index in start_vector 497 usetty = False, # request a private TTY channel 498 usenic = False, # request a private NIC channel 499 usecma = False, # request a private CMA channel 500 usehba = False, # request a private HBA channel 501 usetim = False ): # request a private TIM channel 495 startid ): # index in start_vector 502 496 503 497 assert (x < self.x_size) and (y < self.y_size) … … 505 499 506 500 # add one task into mapping 507 task = Task( name, trdid, x, y, lpid, stackname, heapname, startid, 508 usetty, usenic, usecma, usehba, usetim ) 501 task = Task( name, trdid, x, y, lpid, stackname, heapname, startid ) 509 502 vspace.tasks.append( task ) 510 503 task.index = self.total_tasks … … 854 847 seg_fbf_size = 0 855 848 856 nb_icu = 0857 icu_channels = 0858 seg_icu_base = 0xFFFFFFFF859 seg_icu_size = 0860 861 849 nb_iob = 0 862 850 iob_channels = 0 … … 941 929 nb_fbf +=1 942 930 943 elif ( periph.ptype == 'ICU' ):944 seg_icu_base = periph.pseg.base & 0xFFFFFFFF945 seg_icu_size = periph.pseg.size946 icu_channels = periph.channels947 nb_icu +=1948 949 931 elif ( periph.ptype == 'IOB' ): 950 932 seg_iob_base = periph.pseg.base & 0xFFFFFFFF … … 1019 1001 xcu_arg = periph.arg 1020 1002 nb_xcu +=1 1021 1022 # don't mix ICU and XCU1023 assert ( nb_icu*nb_xcu == 0 )1024 1003 1025 1004 # no more than two access to external peripherals … … 1168 1147 s += '#define SEG_FBF_BASE 0x%x\n' % seg_fbf_base 1169 1148 s += '#define SEG_FBF_SIZE 0x%x\n' % seg_fbf_size 1170 s += '\n'1171 s += '#define SEG_ICU_BASE 0x%x\n' % seg_icu_base1172 s += '#define SEG_ICU_SIZE 0x%x\n' % seg_icu_size1173 1149 s += '\n' 1174 1150 s += '#define SEG_IOB_BASE 0x%x\n' % seg_iob_base … … 1326 1302 s += ' reg = <0x%x 0x%x 0x%x>;\n' % (msb, lsb, size) 1327 1303 s += ' };\n\n' 1328 1329 # search ICU (non supported by Linux)1330 if ( periph.ptype == 'ICU' ):1331 print '[genmap warning] in linux_dts() : ICU peripheral not supported by LINUX'1332 1304 1333 1305 # we need one interrupt controler in any cluster containing peripherals … … 1762 1734 sys.exit(1) 1763 1735 1764 # research ICU component1765 elif ( periph.ptype == 'ICU' ):1766 print '[genmap error] in netbsd_dts() : ICU peripheral not supported by NetBSD'1767 sys.exit(1)1768 1769 1736 # topology 1770 1737 s += '\n' … … 2089 2056 stackname, 2090 2057 heapname, 2091 startid, 2092 usetty = False, 2093 usenic = False, 2094 usecma = False, 2095 usehba = False, 2096 usetim = False ): 2058 startid ): 2097 2059 2098 2060 self.index = 0 # global index value set by addTask() … … 2105 2067 self.heapname = heapname # name of vobj containing the heap 2106 2068 self.startid = startid # index in start_vector 2107 self.usetty = usetty # request a private TTY channel2108 self.usenic = usenic # request a private NIC channel2109 self.usecma = usecma # request a private CMA channel2110 self.usehba = usehba # request a private HBA channel2111 self.usetim = usetim # request a private TIM channel2112 2069 return 2113 2070 … … 2123 2080 s += ' heapname="%s"' % self.heapname 2124 2081 s += ' startid="%d"' % self.startid 2125 if self.usetty != 0: s += ' usetty="1"'2126 if self.usenic != 0: s += ' usenic="1"'2127 if self.usecma != 0: s += ' usehba="1"'2128 if self.usehba != 0: s += ' usehba="1"'2129 if self.usetim != 0: s += ' usehba="1"'2130 2082 s += ' />\n' 2131 2083 … … 2175 2127 byte_stream += mapping.int2bytes( 4, vobj_heap_id ) # heap vobj local index 2176 2128 byte_stream += mapping.int2bytes( 4, self.startid ) # index in start vector 2177 byte_stream += mapping.int2bytes( 4, self.usetty ) # TTY channel required2178 byte_stream += mapping.int2bytes( 4, self.usenic ) # NIC channel required2179 byte_stream += mapping.int2bytes( 4, self.usecma ) # CMA channel required2180 byte_stream += mapping.int2bytes( 4, self.usehba ) # IOC channel required2181 byte_stream += mapping.int2bytes( 4, self.usetim ) # TIM channel required2182 2129 2183 2130 if ( verbose ): … … 2501 2448 s += ' channels="%d"' % self.channels 2502 2449 s += ' arg="%d" >\n' % self.arg 2503 if ( (self.ptype == 'PIC') or (self.ptype == 'XCU') or (self.ptype == 'ICU')):2450 if ( (self.ptype == 'PIC') or (self.ptype == 'XCU') ): 2504 2451 for irq in self.irqs: s += irq.xml() 2505 2452 s += ' </periph>\n'
Note: See TracChangeset
for help on using the changeset viewer.