Index: trunk/softs/tsar_boot/src/reset_elf_loader.c
===================================================================
--- trunk/softs/tsar_boot/src/reset_elf_loader.c	(revision 949)
+++ trunk/softs/tsar_boot/src/reset_elf_loader.c	(revision 962)
@@ -43,4 +43,9 @@
         goto error;
     }
+
+#if (RESET_DEBUG == 1)
+    reset_display_block( (char*)&elf_header );
+#endif
+
     check_elf_header(&elf_header);
 
Index: trunk/softs/tsar_boot/src/reset_ioc.c
===================================================================
--- trunk/softs/tsar_boot/src/reset_ioc.c	(revision 949)
+++ trunk/softs/tsar_boot/src/reset_ioc.c	(revision 962)
@@ -7,5 +7,5 @@
  *
  * \note   These functions call the specific disk controller driver depending
- *         on the USE_IOC_BDV, USE_IOC_SPI or USE_IOC_RDK constants
+ *         on the USE_IOC_BDV, USE_IOC_SDC or USE_IOC_RDK constants
  */
 
@@ -13,13 +13,9 @@
 #include <defs.h>
 
-#if !defined(USE_IOC_BDV) && !defined(USE_IOC_SPI) && !defined(USE_IOC_RDK)
-#   error "One of the USE_IOC_* constants must be defined in the hard_config.h"
+#if (USE_IOC_BDV + USE_IOC_SDC + USE_IOC_RDK + USE_IOC_HBA) != 1
+#   error "in reset_ioc.c : undefined disk controller in hard_config.h"
 #endif
 
-#if (USE_IOC_BDV + USE_IOC_SPI + USE_IOC_RDK) != 1
-#   error "Only one disk controller must be used"
-#endif
-
-#if USE_IOC_SPI
+#if USE_IOC_SDC
 #include <reset_sdc.h>
 #endif
@@ -33,4 +29,9 @@
 #endif
 
+#if USE_IOC_HBA
+#include <reset_hba.h>
+#endif
+
+
 /**
  * \brief Initialize the disk controller
@@ -40,10 +41,12 @@
 #if USE_IOC_BDV
     return reset_bdv_init();
-#elif USE_IOC_SPI
+#elif USE_IOC_SDC
     return reset_sdc_init();
 #elif USE_IOC_RDK
     return reset_rdk_init();
+#elif USE_IOC_HBA
+    return reset_hba_init();
 #else
-#   error "reset_ioc_init() : Not supported disk controller chosen"
+#   error "in reset_ioc_init.c : undefined disk controller in hard_config.h"
 #endif
 }
@@ -63,10 +66,12 @@
 #if USE_IOC_BDV
     return reset_bdv_read(lba, buffer, count);
-#elif USE_IOC_SPI
+#elif USE_IOC_SDC
     return reset_sdc_read(lba, buffer, count);
 #elif USE_IOC_RDK
     return reset_rdk_read(lba, buffer, count);
+#elif USE_IOC_HBA
+    return reset_hba_read(lba, buffer, count);
 #else
-#   error "reset_ioc_read() : Not supported disk controller chosen"
+#   error "in reset_ioc_read.c : undefined disk controller in hard_config.h"
 #endif
 }
Index: trunk/softs/tsar_boot/src/reset_utils.c
===================================================================
--- trunk/softs/tsar_boot/src/reset_utils.c	(revision 949)
+++ trunk/softs/tsar_boot/src/reset_utils.c	(revision 962)
@@ -178,5 +178,5 @@
         (ehdr->e_ident[EI_MAG3] != ELFMAG3))
     {
-        reset_puts("[RESET ERROR] Unrecognized file format (not an ELF format)\n");
+        reset_puts("\n[RESET ERROR] Unrecognized file format (not an ELF format)\n");
         reset_exit();
     }
@@ -220,4 +220,39 @@
 }
 
+/**
+ * \param buffer : Pointer to the char buffer
+ *
+ * \brief Print a 512 bytes buffer
+ */
+#if (RESET_DEBUG == 1 )
+void reset_display_block( char* buffer )
+{
+    unsigned int line;
+    unsigned int word;
+
+    reset_puts("***********************************************************************\n");
+    for ( line = 0 ; line < 32 ; line++ )
+    {
+        // display line index 
+        reset_putx( line );
+        reset_puts(" : ");
+
+        // display 8*4 bytes hexa
+        for ( word=0 ; word<4 ; word++ )
+        {
+            unsigned int byte  = (line<<5) + (word<<2);
+            unsigned int hexa  = (buffer[byte  ]<<24) |
+                                 (buffer[byte+1]<<16) |
+                                 (buffer[byte+2]<< 8) |
+                                 (buffer[byte+3]);
+            reset_putx( hexa );
+            reset_puts(" | ");
+        }
+        reset_puts("\n");
+    }
+    reset_puts("***********************************************************************\n");
+}   
+#endif
+
 /*
  * vim: tabstop=4 : softtabstop=4 : shiftwidth=4 : expandtab
