Index: soft/giet_vm/Makefile
===================================================================
--- soft/giet_vm/Makefile	(revision 524)
+++ soft/giet_vm/Makefile	(revision 525)
@@ -10,10 +10,10 @@
 # Parameters definition
 ARCH      ?= ../tsar-trunk-svn-2013/platforms/tsar_generic_iob
-X_SIZE    ?= 4
-Y_SIZE    ?= 4
+X_SIZE    ?= 2
+Y_SIZE    ?= 2
 NB_PROCS  ?= 4
 NB_TTYS   ?= 1
 FBF_WIDTH ?= 128
-APP       ?= sort
+APP       ?= classif
 
 
@@ -139,4 +139,8 @@
                 build/libs/user_lock.o 
 
+### Objects to be linked for coproc.elf
+COPROC_OBJS = build/coproc/main.o \
+              build/libs/stdio.o 
+
 CFLAGS = -Wall -ffreestanding -mno-gpopt -mips32 -g -O2 \
 		 -fno-delete-null-pointer-checks
@@ -171,6 +175,6 @@
      build/transpose/transpose.elf   \
      build/convol/convol.elf         \
-     build/router/router.elf         \
      build/classif/classif.elf       \
+     build/coproc/coproc.elf         \
      $(DISK_IMAGE)                   
 	 
@@ -178,13 +182,14 @@
 	mcopy -o -i $(DISK_IMAGE) build/kernel/kernel.elf ::/build/kernel
 	mcopy -o -i $(DISK_IMAGE) build/display/display.elf ::/build/display
+	mcopy -o -i $(DISK_IMAGE) build/hello/hello.elf ::/build/hello
+	mcopy -o -i $(DISK_IMAGE) build/pgcd/pgcd.elf ::/build/pgcd
+	mcopy -o -i $(DISK_IMAGE) build/router/router.elf ::/build/router
+	mcopy -o -i $(DISK_IMAGE) build/dhrystone/dhrystone.elf ::/build/dhrystone
+	mcopy -o -i $(DISK_IMAGE) build/gameoflife/gameoflife.elf ::/build/gameoflife
 	mcopy -o -i $(DISK_IMAGE) build/sort/sort.elf ::/build/sort
 	mcopy -o -i $(DISK_IMAGE) build/transpose/transpose.elf ::/build/transpose
 	mcopy -o -i $(DISK_IMAGE) build/convol/convol.elf ::/build/convol
 	mcopy -o -i $(DISK_IMAGE) build/classif/classif.elf ::/build/classif
-	mcopy -o -i $(DISK_IMAGE) build/hello/hello.elf ::/build/hello
-	mcopy -o -i $(DISK_IMAGE) build/pgcd/pgcd.elf ::/build/pgcd
-	mcopy -o -i $(DISK_IMAGE) build/router/router.elf ::/build/router
-	mcopy -o -i $(DISK_IMAGE) build/gameoflife/gameoflife.elf ::/build/gameoflife
-	mcopy -o -i $(DISK_IMAGE) build/dhrystone/dhrystone.elf ::/build/dhrystone
+	mcopy -o -i $(DISK_IMAGE) build/coproc/coproc.elf ::/build/coproc
 	mcopy -o -i $(DISK_IMAGE) applications/transpose/images.raw ::/misc
 	mcopy -o -i $(DISK_IMAGE) applications/convol/philips_image.raw ::/misc
@@ -203,13 +208,14 @@
 	mmd -o -i $(DISK_IMAGE) ::/build/kernel
 	mmd -o -i $(DISK_IMAGE) ::/build/display
+	mmd -o -i $(DISK_IMAGE) ::/build/hello 
+	mmd -o -i $(DISK_IMAGE) ::/build/pgcd  
+	mmd -o -i $(DISK_IMAGE) ::/build/router
+	mmd -o -i $(DISK_IMAGE) ::/build/dhrystone
+	mmd -o -i $(DISK_IMAGE) ::/build/gameoflife
 	mmd -o -i $(DISK_IMAGE) ::/build/sort  
 	mmd -o -i $(DISK_IMAGE) ::/build/transpose
 	mmd -o -i $(DISK_IMAGE) ::/build/convol
 	mmd -o -i $(DISK_IMAGE) ::/build/classif
-	mmd -o -i $(DISK_IMAGE) ::/build/hello 
-	mmd -o -i $(DISK_IMAGE) ::/build/pgcd  
-	mmd -o -i $(DISK_IMAGE) ::/build/router
-	mmd -o -i $(DISK_IMAGE) ::/build/gameoflife
-	mmd -o -i $(DISK_IMAGE) ::/build/dhrystone
+	mmd -o -i $(DISK_IMAGE) ::/build/coproc 
 	mmd -o -i $(DISK_IMAGE) ::/misc
 	dd if=$(DISK_IMAGE) of=temp.dmg count=65536
@@ -555,4 +561,13 @@
 
 build/classif/main.o: applications/classif/main.c
+	$(CC) $(USER_INCLUDE) $(CFLAGS) -O0 -c -o $@ $<
+
+########################################
+### coproc compilation
+build/coproc/coproc.elf: $(COPROC_OBJS) applications/coproc/coproc.ld hard_config.h
+	$(LD) -o $@ -T applications/coproc/coproc.ld $(COPROC_OBJS)
+	$(DU) -D $@ > $@.txt
+
+build/coproc/main.o: applications/coproc/main.c
 	$(CC) $(USER_INCLUDE) $(CFLAGS) -O0 -c -o $@ $<
 
@@ -579,3 +594,4 @@
 	rm -rf build/convol/*
 	rm -rf build/classif/*
+	rm -rf build/coproc/*
 	rm -rf $(DISK_IMAGE)
Index: soft/giet_vm/giet_config.h
===================================================================
--- soft/giet_vm/giet_config.h	(revision 524)
+++ soft/giet_vm/giet_config.h	(revision 525)
@@ -1,9 +1,9 @@
-/********************************************************************************/
-/*	File : giet_config.h                                                        */
-/*	Author : Alain Greiner                                                      */
-/*	Date : 26/03/2013                                                           */
-/********************************************************************************/
-/* 	Define various configuration parameters for the GIET			            */
-/********************************************************************************/
+/****************************************************************************/
+/*	File : giet_config.h                                                    */
+/*	Author : Alain Greiner                                                  */
+/*	Date : 26/03/2013                                                       */
+/****************************************************************************/
+/* 	Define various configuration parameters for the GIET			        */
+/****************************************************************************/
 
 #ifndef _GIET_VM_CONFIG_H
@@ -15,30 +15,32 @@
 /* Debug parameters */
 
-#define BOOT_DEBUG_MAPPING       0          /* trace map_info checking */
-#define BOOT_DEBUG_PT            0          /* trace page tables initialisation */
-#define BOOT_DEBUG_VOBJS         0          /* trace vobjs initialisation */
-#define BOOT_DEBUG_SCHED         0          /* trace schedulers initialisation */
-#define BOOT_DEBUG_PERI          0          /* trace peripherals initialisation */
-#define BOOT_DEBUG_ELF           0          /* trace .elf files loading */
+#define BOOT_DEBUG_MAPPING        0         /* map_info checking */
+#define BOOT_DEBUG_PT             0         /* page tables initialisation */
+#define BOOT_DEBUG_SCHED          0         /* schedulers initialisation */
+#define BOOT_DEBUG_PERI           0         /* peripherals initialisation */
+#define BOOT_DEBUG_ELF            0         /* .elf files loading */
 
-#define GIET_DEBUG_INIT          0          /* trace kernel initialisation */
+#define GIET_DEBUG_INIT           0         /* kernel initialisation */
 
-#define GIET_DEBUG_FAT           0          /* trace fat accesses */ 
-#define GIET_DEBUG_SIMPLE_LOCK   0          /* trace kernel simple_lock accesses */
-#define GIET_DEBUG_SPIN_LOCK     0          /* trace kernel spin_lock accesses */
-#define GIET_DEBUG_SBT_LOCK      0          /* trace kernel sbt_lock accesses */
-#define GIET_DEBUG_SYS_MALLOC    0          /* trace kernel malloc accesses */
-#define GIET_DEBUG_SWITCH        0          /* trace context switchs  */
-#define GIET_DEBUG_IRQS          0          /* trace interrupts */
-#define GIET_DEBUG_IOC_DRIVER    0          /* trace IOC accesses */
-#define GIET_DEBUG_TTY_DRIVER    0          /* trace TTY accesses */
-#define GIET_DEBUG_DMA_DRIVER    0          /* trace DMA accesses */
-#define GIET_DEBUG_NIC           0          /* trace NIC accesses */
-#define GIET_DEBUG_FBF_CMA       0          /* trace FBF_CMA accesses */
+#define GIET_DEBUG_FAT            0         /* fat access */ 
+#define GIET_DEBUG_SIMPLE_LOCK    0         /* kernel simple lock access */
+#define GIET_DEBUG_SPIN_LOCK      0         /* kernel spin lock access */
+#define GIET_DEBUG_SQT_LOCK       0         /* kernel SQT lock access */
+#define GIET_DEBUG_SIMPLE_BARRIER 0         /* kernel simple barrier access */
+#define GIET_DEBUG_SQT_BARRIER    0         /* kernel SQT barrier access */
+#define GIET_DEBUG_SYS_MALLOC     0         /* kernel malloc access */
+#define GIET_DEBUG_SWITCH         0         /* context switchs  */
+#define GIET_DEBUG_IRQS           0         /* interrupts */
+#define GIET_DEBUG_IOC_DRIVER     0         /* IOC access */
+#define GIET_DEBUG_TTY_DRIVER     0         /* TTY access */
+#define GIET_DEBUG_DMA_DRIVER     0         /* DMA access */
+#define GIET_DEBUG_NIC            0         /* NIC access */
+#define GIET_DEBUG_FBF_CMA        0         /* FBF_CMA access */
+#define GIET_DEBUG_COPROC         0         /* coprocessor access */
 
-#define GIET_DEBUG_USER_MALLOC   0          /* trace malloc library */
-#define GIET_DEBUG_USER_BARRIER  0          /* trace barrier library */
-#define GIET_DEBUG_USER_MWMR     0          /* trace mwmr library */
-#define GIET_DEBUG_USER_LOCK     0          /* trace user locks access */
+#define GIET_DEBUG_USER_MALLOC    0         /* malloc library */
+#define GIET_DEBUG_USER_BARRIER   0         /* barrier library */
+#define GIET_DEBUG_USER_MWMR      0         /* mwmr library */
+#define GIET_DEBUG_USER_LOCK      0         /* user locks access */
 
 #define CONFIG_SRL_VERBOSITY TRACE 
@@ -46,5 +48,5 @@
 /* software parameters */
 
-#define GIET_ELF_BUFFER_SIZE     0x80000    /* buffer for .elf files (seg_boot_data) */
+#define GIET_ELF_BUFFER_SIZE     0x80000    /* buffer for .elf files  */
 #define GIET_IDLE_TASK_PERIOD    0x10000000 /* Idle Task message period */
 #define GIET_OPEN_FILES_MAX      16         /* max simultaneously open files */
@@ -52,8 +54,7 @@
 #define GIET_TICK_VALUE	         0x00100000 /* context switch period (cycles) */
 #define GIET_USE_IOMMU           0          /* IOMMU activated when non zero */
-#define GIET_NO_HARD_CC          0          /* No hard cache coherence when non zero */
+#define GIET_NO_HARD_CC          0          /* No hard cache coherence */
 #define GIET_NIC_MAC4            0x12345678 /* 32 LSB bits of the MAC address */
 #define GIET_NIC_MAC2            0xBEBE     /* 16 MSB bits of the MAC address */
-#define GIET_LOCK_MAX_TICKET     1000000    /* max ticket value for queueing locks */
 
 #endif
