Index: soft/giet_vm/giet_drivers/xcu_driver.h
===================================================================
--- soft/giet_vm/giet_drivers/xcu_driver.h	(revision 281)
+++ soft/giet_vm/giet_drivers/xcu_driver.h	(revision 295)
@@ -5,4 +5,20 @@
 // Copyright (c) UPMC-LIP6
 ///////////////////////////////////////////////////////////////////////////////////
+// The xcu_driver.c and xcu_driver.h files are part ot the GIET-VM nano-kernel.
+// This driver supports the SoCLib vci_xicu, that is a vectorised interrupt
+// controler supporting IPI (Inter Processor Interrupts) and integrated timers.
+//
+// It can exist several interrupt controller unit in the architecture 
+// (one per cluster), and each one can contain several channels.
+// The number of XICU channels is equal to NB_PROCS_MAX, because there is 
+// one private XICU channel per processor in a cluster.
+////////////////////////////////////////////////////////////////////////////////
+// The virtual base address of the segment associated to the component is:
+//
+//      seg_xcu_base + cluster_xy * vseg_cluster_increment
+//
+// The seg_xcu_base and vseg_cluster_increment values must be defined 
+// in giet_vsegs.ld file.
+////////////////////////////////////////////////////////////////////////////////
 
 #ifndef _GIET_XCU_DRIVER_H_
@@ -44,29 +60,37 @@
 ///////////////////////////////////////////////////////////////////////////////////
 
-extern unsigned int _xcu_get_index( unsigned int cluster_xy, 
-                                    unsigned int irq_index, 
-                                    unsigned int * buffer );
+extern void _xcu_set_mask( unsigned int cluster_xy,
+                           unsigned int channel,  
+                           unsigned int mask, 
+                           unsigned int irq_type );
 
-extern unsigned int _xcu_set_mask( unsigned int cluster_xy,
-                                   unsigned int irq_index,
-                                   unsigned int mask, 
-                                   unsigned int is_timer );
+extern void _xcu_get_index( unsigned int   cluster_xy, 
+                            unsigned int   channel,   
+                            unsigned int * index,
+                            unsigned int * irq_type );
 
-extern unsigned int _xcu_send_ipi( unsigned int cluster_xy,
-                                   unsigned int wti_index,
-                                   unsigned int wdata );
+extern void _xcu_send_wti( unsigned int cluster_xy,
+                           unsigned int wti_index,
+                           unsigned int wdata );
 
-extern unsigned int _xcu_timer_start( unsigned int cluster_xy, 
-                                      unsigned int pti_index,
-                                      unsigned int period ); 
+extern void _xcu_get_wti_value( unsigned int   cluster_xy,
+                                unsigned int   wti_index,
+                                unsigned int * value );
 
-extern unsigned int _xcu_timer_stop( unsigned int cluster_xy, 
-                                     unsigned int pti_index ); 
+extern void _xcu_get_wti_address( unsigned int   wti_index,
+                                  unsigned int * address );
 
-extern unsigned int _xcu_timer_reset_irq( unsigned int cluster_xy, 
-                                          unsigned int pti_index );
+extern void _xcu_timer_start( unsigned int cluster_xy, 
+                              unsigned int pti_index,
+                              unsigned int period ); 
 
-extern unsigned int _xcu_timer_reset_cpt( unsigned int cluster_xy, 
-                                          unsigned int pti_index ); 
+extern void _xcu_timer_stop( unsigned int cluster_xy, 
+                             unsigned int pti_index ); 
+
+extern void _xcu_timer_reset_irq( unsigned int cluster_xy, 
+                                  unsigned int pti_index );
+
+extern void _xcu_timer_reset_cpt( unsigned int cluster_xy, 
+                                  unsigned int pti_index ); 
 
 ///////////////////////////////////////////////////////////////////////////////////
