Changeset 734
- Timestamp:
- Jul 3, 2014, 6:04:16 PM (11 years ago)
- Location:
- trunk/platforms/tsar_generic_iob
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/arch.py
r730 r734 41 41 ### define architecture constants 42 42 43 nb_ttys = 1 44 nb_nics = 2 45 fbf_width = 1024 46 x_io = 0 47 y_io = 0 48 x_width = 4 49 y_width = 4 50 paddr_width = 40 51 irq_per_proc = 4 52 use_ramdisk = False 53 peri_increment = 0x10000 43 nb_ttys = 1 44 nb_nics = 2 45 fbf_width = 1024 46 x_io = 0 47 y_io = 0 48 x_width = 4 49 y_width = 4 50 paddr_width = 40 51 irq_per_proc = 4 52 use_ramdisk = False 53 peri_increment = 0x10000 54 distributed_ptabs = True 54 55 55 56 ### parameters checking … … 158 159 x_io = x_io, 159 160 y_io = y_io, 160 peri_increment = peri_increment ) 161 peri_increment = peri_increment, 162 ram_base = ram_base, 163 ram_size = ram_size ) 161 164 162 165 ### external peripherals (accessible in cluster[0,0] only for this mapping) … … 240 243 identity = True ) 241 244 242 ### local global vsegs for kernel / same virtual address / different physical address 243 244 for x in xrange( x_size ): 245 for y in xrange( y_size ): 246 cluster_xy = (x << y_width) + y; 247 248 mapping.addGlobal( 'seg_kernel_code', kernel_code_vbase, kernel_code_size, 249 'CXW_', vtype = 'ELF', x = x , y = y , pseg = 'RAM', 250 binpath = 'build/kernel/kernel.elf', local = True ) 251 252 mapping.addGlobal( 'seg_kernel_init', kernel_init_vbase, kernel_init_size, 253 'CXW_', vtype = 'ELF', x = x , y = y , pseg = 'RAM', 254 binpath = 'build/kernel/kernel.elf', local = True ) 245 ### the code global vsegs for kernel can be replicated in all clusters 246 ### if the page tables are distributed in all clusters. 247 248 if distributed_ptabs: 249 for x in xrange( x_size ): 250 for y in xrange( y_size ): 251 cluster_xy = (x << y_width) + y; 252 253 mapping.addGlobal( 'seg_kernel_code', kernel_code_vbase, kernel_code_size, 254 'CXW_', vtype = 'ELF', x = x , y = y , pseg = 'RAM', 255 binpath = 'build/kernel/kernel.elf', local = True ) 256 257 mapping.addGlobal( 'seg_kernel_init', kernel_init_vbase, kernel_init_size, 258 'CXW_', vtype = 'ELF', x = x , y = y , pseg = 'RAM', 259 binpath = 'build/kernel/kernel.elf', local = True ) 260 else: 261 mapping.addGlobal( 'seg_kernel_code', kernel_code_vbase, kernel_code_size, 262 'CXW_', vtype = 'ELF', x = 0 , y = 0 , pseg = 'RAM', 263 binpath = 'build/kernel/kernel.elf', local = False ) 264 265 mapping.addGlobal( 'seg_kernel_init', kernel_init_vbase, kernel_init_size, 266 'CXW_', vtype = 'ELF', x = 0 , y = 0 , pseg = 'RAM', 267 binpath = 'build/kernel/kernel.elf', local = False ) 255 268 256 269 ### shared global vsegs for kernel -
trunk/platforms/tsar_generic_iob/top.cpp
r730 r734 234 234 ///////////////////////////////////////////////////////// 235 235 236 // Replicated RAMs : address is incremented by a cluster offset 237 // offset = cluster(x,y) << (address_width-x_width-y_width); 238 239 #define SEG_RAM_BASE 0x0000000000 240 #define SEG_RAM_SIZE 0x0004000000 // 64 Mbytes 236 // All physical segments base addresses and sizes are defined 237 // in the hard_config.h file. For replicated segments, the 238 // base address is incremented by a cluster offset: 239 // offset = cluster(x,y) << (address_width-x_width-y_width); 241 240 242 241 ////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.