Index: /soft/giet_vm/giet_boot/boot.c
===================================================================
--- /soft/giet_vm/giet_boot/boot.c	(revision 451)
+++ /soft/giet_vm/giet_boot/boot.c	(revision 452)
@@ -999,7 +999,5 @@
 
 ///////////////////////////////////////////////////////////////////////////////
-// This function initializes all private vobjs defined in the vspaces,
-// such as mwmr channels, barriers and locks, because these vobjs 
-// are not known, and not initialized by the compiler.
+// This function initializes the private vobjs that have the CONST type.
 // The MMU is supposed to be activated...
 ///////////////////////////////////////////////////////////////////////////////
@@ -1030,183 +1028,22 @@
              vobj_id++) 
         {
-            switch (vobj[vobj_id].type) 
-            {
-                case VOBJ_TYPE_MWMR:    // storage capacity is (vobj.length/4 - 5) words
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("MWMR    : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    mwmr_channel_t* mwmr = (mwmr_channel_t *) (vobj[vobj_id].vbase);
-                    mwmr->ptw = 0;
-                    mwmr->ptr = 0;
-                    mwmr->sts = 0;
-                    mwmr->width = vobj[vobj_id].init;
-                    mwmr->depth = (vobj[vobj_id].length >> 2) - 6;
-                    mwmr->lock = 0;
-#if BOOT_DEBUG_VOBJS
-_puts("          fifo depth = ");
-_putd(mwmr->depth);
-_puts(" / width = ");
-_putd(mwmr->width);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_ELF:    // initialisation done by the loader 
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("ELF     : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_BLOB:    // initialisation done by the loader 
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("BLOB    : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_BARRIER:    // init is the number of participants
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("BARRIER : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    giet_barrier_t* barrier = (giet_barrier_t *) (vobj[vobj_id].vbase);
-                    barrier->count  = vobj[vobj_id].init;
-                    barrier->ntasks = vobj[vobj_id].init;
-                    barrier->sense  = 0;
-#if BOOT_DEBUG_VOBJS
-_puts("          init_value = ");
-_putd(barrier->init);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_LOCK:    // init value is "not taken"
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("LOCK    : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    unsigned int* lock = (unsigned int *) (vobj[vobj_id].vbase);
-                    *lock = 0;
-                    break;
-                }
-                case VOBJ_TYPE_BUFFER:    // nothing to initialise
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("BUFFER  : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_MEMSPACE:
-                {
-#if BOOT_DEBUG_VOBJS
-_puts("MEMSPACE  : ");
-_puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
-_putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
-_putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts("\n");
-#endif
-                    giet_memspace_t* memspace = (giet_memspace_t *) vobj[vobj_id].vbase;
-                    memspace->buffer = (void *) vobj[vobj_id].vbase + 8;
-                    memspace->size = vobj[vobj_id].length - 8;
-#if BOOT_DEBUG_VOBJS
-_puts("          buffer vbase = ");
-_putx((unsigned int)memspace->buffer);
-_puts(" / size = ");
-_putx(memspace->size);
-_puts("\n");
-#endif
-                    break;
-                }
-                case VOBJ_TYPE_CONST:
-                {
+            if ( (vobj[vobj_id].type) == VOBJ_TYPE_CONST )
+            {
 #if BOOT_DEBUG_VOBJS
 _puts("CONST   : ");
 _puts(vobj[vobj_id].name);
-_puts(" / vaddr = ");
+_puts(" / vaddr  = ");
 _putx(vobj[vobj_id].vaddr);
-_puts(" / paddr = ");
+_puts(" / paddr  = ");
 _putl(vobj[vobj_id].paddr);
-_puts(" / length = ");
-_putx(vobj[vobj_id].length);
-_puts(" / init = ");
+_puts(" / value  = ");
 _putx(vobj[vobj_id].init);
 _puts("\n");
 #endif
-                    unsigned int* addr = (unsigned int *) vobj[vobj_id].vbase;
-                    *addr = vobj[vobj_id].init;
-
-#if BOOT_DEBUG_VOBJS
-_puts("          init = ");
-_putx(*addr);
-_puts("\n");
-#endif
-                    break;
-                }
-                default:
-                {
-                    _puts("\n[BOOT ERROR] in boot_vobjs_init() : Illegal vobj type ");
-                    _putd( vobj[vobj_id].type );
-                    _puts(" in vspace ");
-                    _puts( vspace[vspace_id].name );
-                    _puts("\n");
-                    _exit();
-                }
-            }            // end switch type
-        }          // end loop on vobjs
-    }        // end loop on vspaces
+                unsigned int* addr = (unsigned int *) vobj[vobj_id].vbase;
+                *addr = vobj[vobj_id].init;
+            }
+        }
+    }
 } // end boot_vobjs_init()
 
@@ -1673,23 +1510,24 @@
 
             // initializes the task context 
-            psched->context[ltid][CTX_CR_ID]    = 0;
-            psched->context[ltid][CTX_SR_ID]    = ctx_sr;
-            psched->context[ltid][CTX_SP_ID]    = ctx_sp;
-            psched->context[ltid][CTX_EPC_ID]   = ctx_epc;
-            psched->context[ltid][CTX_PTPR_ID]  = ctx_ptpr;
-            psched->context[ltid][CTX_PTAB_ID]  = ctx_ptab;
-            psched->context[ltid][CTX_LTID_ID]  = ltid;
-            psched->context[ltid][CTX_GTID_ID]  = task_id;
-            psched->context[ltid][CTX_TRDID_ID] = thread_id;
-            psched->context[ltid][CTX_VSID_ID]  = vspace_id;
-            psched->context[ltid][CTX_RUN_ID]   = 1;
-
-            psched->context[ltid][CTX_TTY_ID]   = 0xFFFFFFFF;
-            psched->context[ltid][CTX_FBCMA_ID] = 0xFFFFFFFF;
-            psched->context[ltid][CTX_RXCMA_ID] = 0xFFFFFFFF;
-            psched->context[ltid][CTX_TXCMA_ID] = 0xFFFFFFFF;
-            psched->context[ltid][CTX_NIC_ID]   = 0xFFFFFFFF;
-            psched->context[ltid][CTX_HBA_ID]   = 0xFFFFFFFF;
-            psched->context[ltid][CTX_TIM_ID]   = 0xFFFFFFFF;
+            psched->context[ltid][CTX_CR_ID]     = 0;
+            psched->context[ltid][CTX_SR_ID]     = ctx_sr;
+            psched->context[ltid][CTX_SP_ID]     = ctx_sp;
+            psched->context[ltid][CTX_EPC_ID]    = ctx_epc;
+            psched->context[ltid][CTX_PTPR_ID]   = ctx_ptpr;
+            psched->context[ltid][CTX_PTAB_ID]   = ctx_ptab;
+            psched->context[ltid][CTX_LTID_ID]   = ltid;
+            psched->context[ltid][CTX_GTID_ID]   = task_id;
+            psched->context[ltid][CTX_TRDID_ID]  = thread_id;
+            psched->context[ltid][CTX_VSID_ID]   = vspace_id;
+            psched->context[ltid][CTX_RUN_ID]    = 1;
+
+            psched->context[ltid][CTX_TTY_ID]    = 0xFFFFFFFF;
+            psched->context[ltid][CTX_CMA_FB_ID] = 0xFFFFFFFF;
+            psched->context[ltid][CTX_CMA_RX_ID] = 0xFFFFFFFF;
+            psched->context[ltid][CTX_CMA_TX_ID] = 0xFFFFFFFF;
+            psched->context[ltid][CTX_NIC_RX_ID] = 0xFFFFFFFF;
+            psched->context[ltid][CTX_NIC_TX_ID] = 0xFFFFFFFF;
+            psched->context[ltid][CTX_TIM_ID]    = 0xFFFFFFFF;
+            psched->context[ltid][CTX_HBA_ID]    = 0xFFFFFFFF;
 
 #if BOOT_DEBUG_SCHED
@@ -2423,5 +2261,5 @@
         _putd(_get_proctime());
         _puts("\n");
-
+  
         // Initialise schedulers
         boot_schedulers_init();
