Index: branches/fault_tolerance/platform/tsar_generic_iob/top.cpp
===================================================================
--- branches/fault_tolerance/platform/tsar_generic_iob/top.cpp	(revision 648)
+++ branches/fault_tolerance/platform/tsar_generic_iob/top.cpp	(revision 658)
@@ -126,5 +126,4 @@
 #include "vci_multi_tty.h"
 #include "vci_multi_nic.h"
-#include "vci_simple_rom.h"
 #include "vci_block_device_tsar.h"
 #include "vci_framebuffer.h"
@@ -233,11 +232,11 @@
 
 #define BROM_BASE 0x00BFC00000
-#define BROM_SIZE 0x0000100000 // 1 M Kbytes
+#define BROM_SIZE 0x0000010000 // 64 Kbytes
 
 #define IOBX_BASE 0x00BE000000
-#define IOBX_SIZE 0x0000001000 // 4 K Kbytes
+#define IOBX_SIZE 0x0000001000 // 4  Kbytes
 
 #define BDEV_BASE 0x00B3000000
-#define BDEV_SIZE 0x0000008000 // 4 Kbytes
+#define BDEV_SIZE 0x0000008000 // 4  Kbytes
 
 #define MTTY_BASE 0x00B4000000
@@ -305,6 +304,7 @@
 #define INT_MEMC_TGT_ID 0
 #define INT_XICU_TGT_ID 1
-#define INT_MDMA_TGT_ID 2
-#define INT_IOBX_TGT_ID 3
+#define INT_BROM_TGT_ID 2
+#define INT_MDMA_TGT_ID 3
+#define INT_IOBX_TGT_ID 4
 
 #define INT_PROC_INI_ID 0 // from 0 to 7
@@ -331,6 +331,5 @@
 #define IOX_MNIC_TGT_ID 4
 #define IOX_CDMA_TGT_ID 5
-#define IOX_BROM_TGT_ID 6
-#define IOX_MTTY_TGT_ID 7
+#define IOX_MTTY_TGT_ID 6
 
 #define IOX_IOB0_INI_ID 0 // Don't change this value
@@ -552,5 +551,5 @@
          bool cacheable = true;
 
-         // the four following segments are defined in all clusters
+         // the five following segments are defined in all clusters
 
          std::ostringstream smemc_conf;
@@ -572,4 +571,10 @@
                                 not cacheable));
 
+         std::ostringstream sbrom;
+         sbrom << "int_seg_brom_" << x << "_" << y;
+         maptab_int.add(Segment(sbrom.str(), BROM_BASE+offset, BROM_SIZE,
+                                IntTab(cluster(x,y),INT_BROM_TGT_ID),
+                                cacheable));
+
          std::ostringstream smdma;
          smdma << "int_seg_mdma_" << x << "_" << y;
@@ -611,10 +616,4 @@
                                    IntTab(cluster(x,y), INT_IOBX_TGT_ID),
                                    not cacheable));
-
-            std::ostringstream srom;
-            srom << "int_seg_brom_" << x << "_" << y;
-            maptab_int.add(Segment(srom.str(), BROM_BASE+offset, BROM_SIZE,
-                                   IntTab(cluster(x,y), INT_IOBX_TGT_ID),
-                                   cacheable ));
 
             std::ostringstream sdma;
@@ -728,8 +727,4 @@
     maptab_iox.add(Segment("iox_seg_cdma_1", CDMA_BASE + iob1_base, CDMA_SIZE,
                            IntTab(cluster_iob1, IOX_CDMA_TGT_ID), false));
-    maptab_iox.add(Segment("iox_seg_brom_0", BROM_BASE + iob0_base, BROM_SIZE,
-                           IntTab(cluster_iob0,IOX_BROM_TGT_ID), false));
-    maptab_iox.add(Segment("iox_seg_brom_1", BROM_BASE + iob1_base, BROM_SIZE,
-                           IntTab(cluster_iob1,IOX_BROM_TGT_ID), false));
 
     // Each physical RAM can be accessed through IOB0, or through IOB1.
@@ -832,5 +827,4 @@
     VciSignals<vci_param_ext> signal_vci_tgt_fbuf("signal_vci_tgt_fbuf");
     VciSignals<vci_param_ext> signal_vci_tgt_mnic("signal_vci_tgt_mnic");
-    VciSignals<vci_param_ext> signal_vci_tgt_brom("signal_vci_tgt_brom");
     VciSignals<vci_param_ext> signal_vci_tgt_bdev("signal_vci_tgt_bdev");
     VciSignals<vci_param_ext> signal_vci_tgt_cdma("signal_vci_tgt_cdma");
@@ -947,12 +941,7 @@
    iox_network = new VciIoxNetwork<vci_param_ext>("iox_network",
                                                   maptab_iox,
-                                                  8,   // number of targets
+                                                  7,   // number of targets
                                                   4 ); // number of initiators
-   // boot ROM
-   VciSimpleRom<vci_param_ext>*  brom;
-   brom = new VciSimpleRom<vci_param_ext>("brom",
-                                          IntTab(0, IOX_BROM_TGT_ID),
-                                          maptab_iox,
-                                          loader );
+
    // Network Controller
    VciMultiNic<vci_param_ext>*  mnic;
@@ -1060,4 +1049,5 @@
                .int_mdma_tgtid    = INT_MDMA_TGT_ID,
                .int_iobx_tgtid    = INT_IOBX_TGT_ID,
+               .int_brom_tgtid    = INT_BROM_TGT_ID,
                .int_proc_srcid    = INT_PROC_INI_ID,
                .int_mdma_srcid    = INT_MDMA_INI_ID,
@@ -1109,5 +1099,4 @@
     iox_network->p_to_tgt[IOX_FBUF_TGT_ID] (signal_vci_tgt_fbuf);
     iox_network->p_to_tgt[IOX_MNIC_TGT_ID] (signal_vci_tgt_mnic);
-    iox_network->p_to_tgt[IOX_BROM_TGT_ID] (signal_vci_tgt_brom);
     iox_network->p_to_tgt[IOX_BDEV_TGT_ID] (signal_vci_tgt_bdev);
     iox_network->p_to_tgt[IOX_CDMA_TGT_ID] (signal_vci_tgt_cdma);
@@ -1144,11 +1133,4 @@
 
     std::cout << "  - MNIC connected" << std::endl;
-
-    // BROM connexion
-    brom->p_clk    (signal_clk);
-    brom->p_resetn (signal_resetn);
-    brom->p_vci    (signal_vci_tgt_brom);
-
-    std::cout << "  - BROM connected" << std::endl;
 
     // MTTY connexion
@@ -1635,7 +1617,4 @@
                 signal_vci_ini_cdma.print_trace("[SIG]IOX_CDMA_INI");
 
-//              brom->print_trace();
-//              signal_vci_tgt_brom.print_trace("[SIG]IOX_BROM_TGT");
-
 //              mtty->print_trace();
 //              signal_vci_tgt_mtty.print_trace("[SIG]IOX_MTTY_TGT");
@@ -1660,5 +1639,4 @@
 
    delete iox_network;
-   delete brom;
    delete mnic;
    delete fbuf;
