Index: soft/giet_vm/sys/drivers.c
===================================================================
--- soft/giet_vm/sys/drivers.c	(revision 205)
+++ soft/giet_vm/sys/drivers.c	(revision 207)
@@ -231,7 +231,7 @@
     _get_lock(&_tty_put_lock);
     _puts("\n[GIET ERROR] TTY index too large for task ");
-    _putw( task_id );
+    _putd( task_id );
     _puts(" on processor ");
-    _putw( proc_id );
+    _putd( proc_id );
     _puts("\n");
     _release_lock(&_tty_put_lock);
@@ -316,5 +316,5 @@
 ////////////////////////////////////////////////////////////////////////////////
 unsigned int _tty_get_char( unsigned int	tty_id,
-                            char*           buffer )
+                            unsigned char*  buffer )
 {
     // checking argument
@@ -731,9 +731,9 @@
 //////////////////////////////////////////////////////////////////////////////////
 unsigned int _dma_reset_irq( unsigned int	cluster_id,
-                             unsigned int	local_id )
+                             unsigned int	channel_id )
 {
     // parameters checking 
     if ( cluster_id >= NB_CLUSTERS ) return 1;
-    if ( local_id >= NB_DMAS_MAX )   return 1;
+    if ( channel_id >= NB_DMAS_MAX ) return 1;
 
     // compute DMA base address
@@ -741,5 +741,5 @@
                                   (cluster_id * (unsigned)CLUSTER_SIZE) );
 
-    dma_address[local_id*DMA_SPAN + DMA_RESET] = 0;			
+    dma_address[channel_id*DMA_SPAN + DMA_RESET] = 0;			
     return 0;
 }
@@ -748,16 +748,16 @@
 //////////////////////////////////////////////////////////////////////////////////
 unsigned int _dma_get_status( unsigned int	cluster_id,
-                              unsigned int	local_id,
+                              unsigned int	channel_id,
                               unsigned int* status )
 {
     // parameters checking 
     if ( cluster_id >= NB_CLUSTERS ) return 1;
-    if ( local_id >= NB_DMAS_MAX )   return 1;
+    if ( channel_id >= NB_DMAS_MAX ) return 1;
 
     // compute DMA base address
     unsigned int*	dma_address = (unsigned int*)( (char*)&seg_dma_base + 
                                   (cluster_id * (unsigned)CLUSTER_SIZE) );
-    
-    *status = dma_address[local_id*DMA_SPAN + DMA_LEN];
+
+    *status = dma_address[channel_id*DMA_SPAN + DMA_LEN];
     return 0;
 }
@@ -839,9 +839,9 @@
 // - user_vaddr : virtual base address of the memory buffer.
 // - length     : number of bytes to be transfered.
-// The memory buffer must be mapped in user address space and word-aligned.
+// The user buffer must be mapped in user address space and word-aligned.
 // The user buffer length must be multiple of 4 bytes. 
 // Me must compute the physical base addresses for both the frame buffer
 // and the user buffer before programming the DMA transfer.
-// The GIET being fully static, we don't need to split the transfer in 4Kbytes
+// The GIET being fully static, we don't need to split the transfer in 4 Kbytes
 // pages, because the user buffer is contiguous in physical space.
 // Returns 0 if success, > 0 if error.
@@ -871,5 +871,5 @@
     {
         _get_lock(&_tty_put_lock);
-        _puts("[GIET ERROR] in _fbdma_access() : user buffer not word aligned\n");
+        _puts("\n[GIET ERROR] in _fbdma_access() : user buffer not word aligned\n");
         _release_lock(&_tty_put_lock);
         return 1;
@@ -880,5 +880,6 @@
 
     // compute frame buffer pbase address
-    unsigned int fb_vaddr = (unsigned int)&seg_fbf_base + offset;
+    unsigned int fb_vaddr = (unsigned int)&seg_fbf_base + 
+                            (CLUSTER_IO_ID * (unsigned int)CLUSTER_SIZE) + offset;
 
     ko = _v2p_translate( (page_table_t*)user_ptab,
@@ -891,5 +892,5 @@
     {
         _get_lock(&_tty_put_lock);
-        _puts("[GIET ERROR] in _fbdma_access() : frame buffer unmapped\n");
+        _puts("\n[GIET ERROR] in _fbdma_access() : frame buffer unmapped\n");
         _release_lock(&_tty_put_lock);
         return 2;
@@ -906,5 +907,5 @@
     {
         _get_lock(&_tty_put_lock);
-        _puts("[GIET ERROR] in _fbdma_access() : user buffer unmapped\n");
+        _puts("\n[GIET ERROR] in _fbdma_access() : user buffer unmapped\n");
         _release_lock(&_tty_put_lock);
         return 3;
@@ -920,5 +921,5 @@
     {
         _get_lock(&_tty_put_lock);
-        _puts("[GIET ERROR] in _fbdma_access() : user buffer not writable\n");
+        _puts("\n[GIET ERROR] in _fbdma_access() : user buffer not writable\n");
         _release_lock(&_tty_put_lock);
         return 5;
