Index: /trunk/platforms/tsar_generic_iob/arch.py
===================================================================
--- /trunk/platforms/tsar_generic_iob/arch.py	(revision 944)
+++ /trunk/platforms/tsar_generic_iob/arch.py	(revision 945)
@@ -110,28 +110,26 @@
     ## These segments are only defined in cluster_io
 
-    offset_io = ((x_io << y_width) + y_io) << (paddr_width - x_width - y_width)
-
-    bdv_base  = 0x00B3000000 + offset_io
+    bdv_base  = 0x00B3000000
     bdv_size  = 0x1000                     # 4kbytes
 
-    tty_base  = 0x00B4000000 + offset_io
+    tty_base  = 0x00B4000000
     tty_size  = 0x4000                     # 16 Kbytes
 
-    nic_base  = 0x00B5000000 + offset_io
+    nic_base  = 0x00B5000000
     nic_size  = 0x80000                    # 512 kbytes
 
-    cma_base  = 0x00B6000000 + offset_io
+    cma_base  = 0x00B6000000
     cma_size  = 0x1000 * 2 * nb_nics       # 4 kbytes * 2 * nb_nics
 
-    fbf_base  = 0x00B7000000 + offset_io
+    fbf_base  = 0x00B7000000
     fbf_size  = fbf_width * fbf_width     # fbf_width * fbf_width bytes
 
-    pic_base  = 0x00B8000000 + offset_io
+    pic_base  = 0x00B8000000
     pic_size  = 0x1000                     # 4 Kbytes
 
-    iob_base  = 0x00BE000000 + offset_io
+    iob_base  = 0x00BE000000
     iob_size  = 0x1000                     # 4 bytes
 
-    rom_base  = 0x00BFC00000 + offset_io
+    rom_base  = 0x00BFC00000
     rom_size  = 0x4000                     # 16 Kbytes
 
@@ -235,26 +233,26 @@
             if ( (x==x_io) and (y==y_io) ):
 
-                iob = mapping.addPeriph( 'IOB', base = iob_base, size = iob_size, 
+                iob = mapping.addPeriph( 'IOB', base = iob_base + offset, size = iob_size, 
                                          ptype = 'IOB' )
 
-                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 )
 
-                rom = mapping.addPeriph( 'ROM', base = rom_base, size = rom_size, 
+                rom = mapping.addPeriph( 'ROM', base = rom_base + offset, size = rom_size, 
                                          ptype = 'ROM' )
 
-                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 )
 
