Index: trunk/kernel/kernel_config.h
===================================================================
--- trunk/kernel/kernel_config.h	(revision 667)
+++ trunk/kernel/kernel_config.h	(revision 675)
@@ -138,4 +138,5 @@
 #define DEBUG_PROCESS_COPY_INIT           0
 #define DEBUG_PROCESS_DESTROY             0
+#define DEBUG_PROCESS_EXEC_GET_STRINGS    0
 #define DEBUG_PROCESS_FD_REGISTER         0
 #define DEBUG_PROCESS_FD_REMOVE           0
@@ -180,4 +181,5 @@
 
 #define DEBUG_SOCKET_ACCEPT               0
+#define DEBUG_SOCKET_ALARM                0
 #define DEBUG_SOCKET_BIND                 0
 #define DEBUG_SOCKET_BUILD                0
@@ -191,5 +193,5 @@
 #define DEBUG_SOCKET_LINK                 0
 
-#define DEBUG_SYSCALLS_ERROR                 2
+#define DEBUG_SYSCALLS_ERROR              0
 
 #define DEBUG_SYS_BARRIER                 0
@@ -250,4 +252,6 @@
 #define DEBUG_USER_DIR                    0
 
+#define DEBUG_VFS_ERROR                   0
+
 #define DEBUG_VFS_ADD_CHILD               0
 #define DEBUG_VFS_ADD_SPECIAL             0
@@ -256,4 +260,5 @@
 #define DEBUG_VFS_DENTRY_CREATE           0
 #define DEBUG_VFS_FILE_CREATE             0
+#define DEBUG_VFS_FILE_DESTROY            0
 #define DEBUG_VFS_GET_PATH                0
 #define DEBUG_VFS_INODE_CREATE            0
@@ -267,4 +272,5 @@
 #define DEBUG_VFS_OPEN                    0
 #define DEBUG_VFS_OPENDIR                 0
+#define DEBUG_VFS_REMOVE_CHILD            0
 #define DEBUG_VFS_STAT                    0
 #define DEBUG_VFS_USER_MOVE               0
@@ -304,40 +310,41 @@
 #define LOCK_KHM_STATE         6   // local  (B)  protect KHM allocator state
 #define LOCK_HTAB_STATE        7   // local  (B)  protect a local htab state
-
-#define LOCK_VFS_CTX           8   // remote (B)  protect vfs context state
-#define LOCK_PPM_FREE          9   // remote (B)  protect PPM allocator free_pages lists
-#define LOCK_THREAD_JOIN      10   // remote (B)  protect join/exit between two threads
-#define LOCK_XHTAB_STATE      11   // remote (B)  protect a distributed xhtab state
-#define LOCK_CHDEV_QUEUE      12   // remote (B)  protect chdev threads waiting queue
-#define LOCK_CHDEV_TXT0       13   // remote (B)  protect access to kernel terminal TXT0
-#define LOCK_CHDEV_TXTLIST    14   // remote (B)  protect xlist of processes using same TXT
-#define LOCK_PAGE_STATE       15   // remote (B)  protect physical page descriptor state
-#define LOCK_MUTEX_STATE      16   // remote (B)  protect user mutex state
-#define LOCK_CONDVAR_STATE    17   // remote (B)  protect user condvar state
-#define LOCK_SEM_STATE        18   // remote (B)  protect user semaphore state
-#define LOCK_PROCESS_CWD      19   // remote (B)  protect current working directory in process
-#define LOCK_BARRIER_STATE    20   // remote (B)  protect user barrier state
-#define LOCK_LISTEN_SOCKET    21   // remote (B)  protect xlist of listening sockets
-
-#define LOCK_CLUSTER_PREFTBL  22   // local  (Q)  protect array of ref. processes in cluster
-
-#define LOCK_SOCKET_STATE     23   // remote (Q)  protect kernel socket state
-#define LOCK_PPM_DIRTY        24   // remote (Q)  protect PPM dirty_pages list
-#define LOCK_CLUSTER_LOCALS   25   // remote (Q)  protect xlist of local processes in cluster
-#define LOCK_CLUSTER_COPIES   26   // remote (Q)  protect xlist of process copies in cluster
-#define LOCK_PROCESS_CHILDREN 27   // remote (Q)  protect xlist of chidren process in process
-#define LOCK_PROCESS_USERSYNC 28   // remote (Q)  protect lists of user synchros in process
-#define LOCK_PROCESS_FDARRAY  29   // remote (Q)  protect array of open files in owner process
-#define LOCK_PROCESS_DIR      30   // remote (Q)  protect xlist of open directories in process
-#define LOCK_VMM_VSL          31   // remote (Q)  protect VSL (local list of vsegs)
-
-#define LOCK_PROCESS_THTBL    32   // local  (RW) protect local array of threads in a process 
-
-#define LOCK_MAPPER_STATE     33   // remote (RW) protect mapper state
-#define LOCK_VFS_SIZE         34   // remote (RW) protect inode state and associated mapper
-#define LOCK_VFS_FILE         35   // remote (RW) protect file descriptor state
-#define LOCK_VFS_MAIN         36   // remote (RW) protect vfs traversal (in root inode)
-#define LOCK_FATFS_FAT        37   // remote (RW) protect exclusive access to the VFS FAT
-#define LOCK_FBF_WINDOWS      38   // remote (RW) protect FBF windows set
+#define LOCK_CORE_ALARMS       8   // local  (B)  protect list of alarms in core desc.
+
+#define LOCK_VFS_CTX           9   // remote (B)  protect vfs context state
+#define LOCK_PPM_FREE         10   // remote (B)  protect PPM allocator free_pages lists
+#define LOCK_THREAD_JOIN      11   // remote (B)  protect join/exit between two threads
+#define LOCK_XHTAB_STATE      12   // remote (B)  protect a distributed xhtab state
+#define LOCK_CHDEV_QUEUE      13   // remote (B)  protect chdev threads waiting queue
+#define LOCK_CHDEV_TXT0       14   // remote (B)  protect access to kernel terminal TXT0
+#define LOCK_CHDEV_TXTLIST    15   // remote (B)  protect xlist of processes using same TXT
+#define LOCK_PAGE_STATE       16   // remote (B)  protect physical page descriptor state
+#define LOCK_MUTEX_STATE      17   // remote (B)  protect user mutex state
+#define LOCK_CONDVAR_STATE    18   // remote (B)  protect user condvar state
+#define LOCK_SEM_STATE        19   // remote (B)  protect user semaphore state
+#define LOCK_PROCESS_CWD      20   // remote (B)  protect current working directory in process
+#define LOCK_BARRIER_STATE    21   // remote (B)  protect user barrier state
+#define LOCK_LISTEN_SOCKET    22   // remote (B)  protect xlist of listening sockets
+
+#define LOCK_CLUSTER_PREFTBL  23   // local  (Q)  protect array of ref. processes in cluster
+
+#define LOCK_SOCKET_STATE     24   // remote (Q)  protect kernel socket state
+#define LOCK_PPM_DIRTY        25   // remote (Q)  protect PPM dirty_pages list
+#define LOCK_CLUSTER_LOCALS   26   // remote (Q)  protect xlist of local processes in cluster
+#define LOCK_CLUSTER_COPIES   27   // remote (Q)  protect xlist of process copies in cluster
+#define LOCK_PROCESS_CHILDREN 28   // remote (Q)  protect xlist of chidren process in process
+#define LOCK_PROCESS_USERSYNC 29   // remote (Q)  protect lists of user synchros in process
+#define LOCK_PROCESS_FDARRAY  30   // remote (Q)  protect array of open files in owner process
+#define LOCK_PROCESS_DIR      31   // remote (Q)  protect xlist of open directories in process
+#define LOCK_VMM_VSL          32   // remote (Q)  protect VSL (local list of vsegs)
+
+#define LOCK_PROCESS_THTBL    33   // local  (RW) protect local array of threads in a process 
+
+#define LOCK_MAPPER_STATE     34   // remote (RW) protect mapper state
+#define LOCK_VFS_SIZE         35   // remote (RW) protect inode state and associated mapper
+#define LOCK_VFS_FILE         36   // remote (RW) protect file descriptor state
+#define LOCK_VFS_MAIN         37   // remote (RW) protect vfs traversal (in root inode)
+#define LOCK_FATFS_FAT        38   // remote (RW) protect exclusive access to the VFS FAT
+#define LOCK_FBF_WINDOWS      39   // remote (RW) protect FBF windows set
 
 ////////////////////////////////////////////////////////////////////////////////////////////
@@ -386,5 +393,7 @@
 
 #define CONFIG_MAX_PROCESS_PER_CLUSTER      16         // max number of owned process
-#define CONFIG_PROCESS_FILE_MAX_NR          16         // max number of open files
+#define CONFIG_PROCESS_ARGS_MAX_NR          4          // max number of args per process 
+#define CONFIG_PROCESS_ENVS_MAX_NR          256        // max number of envs per process
+#define CONFIG_PROCESS_FILE_MAX_NR          256        // max number of files per process
 #define CONFIG_PROCESS_MAX_CHILDREN         1024       // max number of children process
 #define CONFIG_PROCESS_HEAP_MIN_SIZE        0x00010000 // user heap min size (bytes)
@@ -468,9 +477,10 @@
 #define CONFIG_VMM_STACK_BASE         0x0C0000      // STACK zone base        : 3   Gbytes
  
-#define CONFIG_VMM_ARGS_SIZE          0x000004      // args vseg size         : 16  Kbytes
-#define CONFIG_VMM_ENVS_SIZE          0x000008      // envs vseg size         : 32  Kbytes
+#define CONFIG_VMM_ARGS_SIZE          0x000001      // args vseg size         : 4   Kbytes
+#define CONFIG_VMM_ENVS_SIZE          0x000004      // envs vseg size         : 16  Kbytes
 #define CONFIG_VMM_STACK_SIZE         0x001000      // single stack vseg size : 16  Mbytes
 
-#define CONFIG_VMM_HEAP_MAX_ORDER     18           // max size of MMAP vseg  :  1  Gbytes
+#define CONFIG_VMM_HEAP_MAX_ORDER     18           // max size of MMAP vseg  :  1   Gbytes
+
 ////////////////////////////////////////////////////////////////////////////////////////////
 //                      PHYSICAL MEMORY MANAGEMENT         
@@ -487,4 +497,15 @@
 
 ////////////////////////////////////////////////////////////////////////////////////////////
+//                  MISCELANEOUS BUFFER SIZES  
+////////////////////////////////////////////////////////////////////////////////////////////
+
+#define CONFIG_PRINTK_BUF_SIZE        0x800        // max length of a formated string
+#define CONFIG_PIPE_BUF_SIZE          0x1000       // max number of bytes in a pipe buffer
+#define CONFIG_SOCK_RX_BUF_SIZE       0x100000     // max number of bytes in  RX buffer
+#define CONFIG_SOCK_R2T_BUF_SIZE      0x64         // max number of requests in R2T queue 
+#define CONFIG_SOCK_CRQ_BUF_SIZE      0x8          // max number of requests in CRQ queue
+#define CONFIG_SOCK_PKT_BUF_SIZE      0x800        // max length for one ETH/IP/TCP packet
+
+////////////////////////////////////////////////////////////////////////////////////////////
 //                 INSTRUMENTATION
 ////////////////////////////////////////////////////////////////////////////////////////////
