Index: /trunk/platforms/tsar_generic_leti/arch.py
===================================================================
--- /trunk/platforms/tsar_generic_leti/arch.py	(revision 943)
+++ /trunk/platforms/tsar_generic_leti/arch.py	(revision 944)
@@ -97,22 +97,20 @@
     ## These segments are only defined in cluster_io
 
-    cluster_xy = ((x_io << y_width) + y_io) << (paddr_width - x_width - y_width)
-
-    bdv_base  = 0xF2000000 + cluster_xy
+    bdv_base  = 0xF2000000
     bdv_size  = 0x1000                     # 4kbytes
 
-    tty_base  = 0xF4000000 + cluster_xy
+    tty_base  = 0xF4000000
     tty_size  = 0x4000                     # 16 Kbytes
 
-    nic_base  = 0xF7000000 + cluster_xy
+    nic_base  = 0xF7000000
     nic_size  = 0x80000                    # 512 kbytes
 
-    cma_base  = 0xF8000000 + cluster_xy
+    cma_base  = 0xF8000000
     cma_size  = 0x1000 * 2 * nb_nics       # 4 kbytes * 2 * nb_nics
 
-    pic_base  = 0xF9000000 + cluster_xy
+    pic_base  = 0xF9000000
     pic_size  = 0x1000                     # 4 Kbytes
 
-    fbf_base  = 0xF3000000 + cluster_xy
+    fbf_base  = 0xF3000000
     fbf_size  = fbf_width * fbf_width      # fbf_width * fbf_width bytes
 
@@ -154,7 +152,4 @@
     kernel_data_vbase    = 0x90000000
     kernel_data_size     = 0x00200000      # 2 Mbytes in cluster[0][0]
-
-    kernel_uncdata_vbase = 0x90200000
-    kernel_uncdata_size  = 0x00001000      # 4 Kbytes in cluster[0][0]
 
     kernel_ptab_vbase    = 0xE0000000
@@ -219,20 +214,20 @@
             if ( (x==x_io) and (y==y_io) ):
 
-                bdv = mapping.addPeriph( 'BDV', base = bdv_base, size = bdv_size, 
+                bdv = mapping.addPeriph( 'BDV', base = bdv_base + offset, size = bdv_size, 
                                          ptype = 'IOC', subtype = 'BDV' )
 
-                tty = mapping.addPeriph( 'TTY', base = tty_base, size = tty_size, 
+                tty = mapping.addPeriph( 'TTY', base = tty_base + offset, size = tty_size, 
                                          ptype = 'TTY', channels = nb_ttys )
 
-                nic = mapping.addPeriph( 'NIC', base = nic_base, size = nic_size, 
+                nic = mapping.addPeriph( 'NIC', base = nic_base + offset, size = nic_size, 
                                          ptype = 'NIC', channels = nb_nics )
 
-                cma = mapping.addPeriph( 'CMA', base = cma_base, size = cma_size, 
+                cma = mapping.addPeriph( 'CMA', base = cma_base + offset, size = cma_size, 
                                          ptype = 'CMA', channels = nb_cmas )
 
-                fbf = mapping.addPeriph( 'FBF', base = fbf_base, size = fbf_size, 
+                fbf = mapping.addPeriph( 'FBF', base = fbf_base + offset, size = fbf_size, 
                                          ptype = 'FBF', arg = fbf_width )
 
-                pic = mapping.addPeriph( 'PIC', base = pic_base, size = pic_size, 
+                pic = mapping.addPeriph( 'PIC', base = pic_base + offset, size = pic_size, 
                                          ptype = 'PIC', channels = 32 )
 
@@ -320,12 +315,4 @@
                        local = False, big = True )
 
-    ### global vseg kernel_uncdata: non local / small page
-    ### Only mapped in cluster[0][0]
-    mapping.addGlobal( 'seg_kernel_uncdata', 
-                        kernel_uncdata_vbase, kernel_uncdata_size,
-                       '__W_', vtype = 'ELF', x = 0, y = 0, pseg = 'RAM',
-                       binpath = 'build/kernel/kernel.elf', 
-                       local = False, big = False )
-
     ### Global vsegs kernel_ptab_x_y: non local / big page
     ### replicated in all clusters containing processors
@@ -354,31 +341,25 @@
     ### global vsegs for external peripherals: non local / big page
     ### only mapped in cluster_io
-    mapping.addGlobal( 'seg_bdv', 
-                       bdv_base, bdv_size,
+    mapping.addGlobal( 'seg_bdv', bdv_base, bdv_size,
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'BDV',
                        local = False, big = True )
 
-    mapping.addGlobal( 'seg_tty', 
-                       tty_base, tty_size, 
+    mapping.addGlobal( 'seg_tty', tty_base, tty_size, 
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'TTY',
                        local = False, big = True )
 
-    mapping.addGlobal( 'seg_nic', 
-                       nic_base, nic_size,
+    mapping.addGlobal( 'seg_nic', nic_base, nic_size,
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'NIC',
                        local = False, big = True )
 
-    mapping.addGlobal( 'seg_cma', 
-                       cma_base, cma_size,
+    mapping.addGlobal( 'seg_cma', cma_base, cma_size,
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'CMA',
                        local = False, big = True )
 
-    mapping.addGlobal( 'seg_fbf', 
-                       fbf_base, fbf_size,
+    mapping.addGlobal( 'seg_fbf', fbf_base, fbf_size,
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'FBF',
                        local = False, big = True )
 
-    mapping.addGlobal( 'seg_pic', 
-                       pic_base, pic_size,
+    mapping.addGlobal( 'seg_pic', pic_base, pic_size,
                        '__W_', vtype = 'PERI', x = x_io, y = y_io, pseg = 'PIC',
                        local = False, big = True )
