Index: branches/reconfiguration/platforms/tsar_generic_iob/scripts/arch.py
===================================================================
--- branches/reconfiguration/platforms/tsar_generic_iob/scripts/arch.py	(revision 919)
+++ branches/reconfiguration/platforms/tsar_generic_iob/scripts/arch.py	(revision 926)
@@ -101,6 +101,6 @@
     mmc_size = 0x1000                     # 4 Kbytes
 
-    rom_base = 0x00BFC00000
-    rom_size = 0x8000                     # 32 Kbytes
+    drom_base = 0x00BFC00000
+    drom_size = 0x8000                    # 32 Kbytes
 
     offset_io = pmsb(X_IO, Y_IO) << (PADDR_WIDTH - X_WIDTH - Y_WIDTH)
@@ -129,4 +129,7 @@
     iob_base = 0x00BE000000 + offset_io
     iob_size = 0x1000                     # 4 kbytes
+
+    rom_base = 0x00BA000000
+    rom_size = 0x8000                     # 32 Kbytes
 
     # create mapping
@@ -170,4 +173,7 @@
                       ptype='SIM')
 
+    mapping.addPeriph('ROM', base=rom_base, size=rom_size,
+                      ptype='ROM')
+
     pic = mapping.addPeriph('PIC', base=pic_base, size=pic_size,
                             ptype='PIC', channels=32)
@@ -196,6 +202,6 @@
                               ptype='MMC')
 
-            mapping.addPeriph('ROM', base=rom_base + offset, size=rom_size,
-                              ptype='ROM')
+            mapping.addPeriph('DROM', base=drom_base + offset, size=drom_size,
+                              ptype='DROM')
 
             dma = mapping.addPeriph('DMA', base=dma_base + offset,
@@ -336,5 +342,5 @@
 
     # for the Giet-VM is not necessary to map the replicated ROMs
-    mapping.addGlobal('seg_rom', rom_base, rom_size, 'CX__', vtype='PERI',
+    mapping.addGlobal('seg_rom', drom_base, drom_size, 'CX__', vtype='PERI',
                       x=X_IO, y=Y_IO, pseg='ROM', local=False, big=True)
 
Index: branches/reconfiguration/platforms/tsar_generic_iob/scripts/onerun.py
===================================================================
--- branches/reconfiguration/platforms/tsar_generic_iob/scripts/onerun.py	(revision 919)
+++ branches/reconfiguration/platforms/tsar_generic_iob/scripts/onerun.py	(revision 926)
@@ -69,9 +69,5 @@
         os.unlink(dst)
 
-    os.symlink(os.path.join(basedir, "soft/config/boot_config.h"), dst)
-
-    # stop after compiling the platform when the compile-only option is activated
-    if args.compileonly == True:
-        exit(0)
+    os.symlink(os.path.join(basedir, "soft/test/config/boot_config.h"), dst)
 
     print "[ run.py ] compiling distributed boot procedure"
@@ -82,4 +78,8 @@
     subprocess.call(command, stdout=logfile, stderr=logfile)
 
+    # stop after compiling when the compile-only option is activated
+    if args.compileonly == True:
+        exit(0)
+
     # 5. execute simulator
     os.environ["DISTRIBUTED_BOOT"] = "1"
@@ -88,14 +88,11 @@
         os.environ["SOCLIB_TTY"] = "FILES"
 
-    ompthreads = (args.x * args.y) / 4
-    cpucount = multiprocessing.cpu_count()
-    if ompthreads > cpucount: ompthreads = cpucount
-
     print "[ run.py ] starting simulation"
     command = []
     command.extend([os.path.join(basedir, "simul.x")])
-    command.extend(["-SOFT", os.path.join(basedir, "soft/build/soft.elf")])
-    command.extend(["-DISK", "/dev/null"])
-    command.extend(["-THREADS", str(ompthreads)])
+    command.extend(["-DSOFT", os.path.join(basedir, "soft/build/soft.elf")])
+    command.extend(["-SOFT", os.path.join(basedir,
+                   "soft/loader/build/loader.elf")])
+    command.extend(["-DISK", "file.dmg"])
 
     if args.faultyrouter != None:
@@ -104,4 +101,5 @@
             command.extend(["-FAULTY_ROUTER", str(f[0]), str(f[1]), str(f[2])])
 
+    ompthreads = 1
     if args.debug != None:
         command.extend(["-DEBUG", str(args.debug[0])]);
@@ -109,8 +107,16 @@
         command.extend(["-PROCID", str(args.debug[2])]);
         command.extend(["-MEMCID", str(args.debug[3])]);
+
     elif os.environ.get('SOCLIB_GDB') == None:
+        ompthreads = (args.x * args.y) / 4
+        cpucount = multiprocessing.cpu_count()
+        if ompthreads > cpucount:
+            ompthreads = cpucount
+
         # the procedure grows linearly with the diameter of the mesh.
-        maxcycles = 400000 + (args.x + args.y) * 20000;
+        maxcycles = 1500000 + (args.x + args.y) * 20000
         command.extend(["-NCYCLES", str(maxcycles)])
+
+    command.extend(["-THREADS", str(ompthreads)])
 
     logfile.write("Execute: {0}\n".format(" ".join(command)))
