Index: trunk/kernel/kern/cluster.h
===================================================================
--- trunk/kernel/kern/cluster.h	(revision 635)
+++ trunk/kernel/kern/cluster.h	(revision 637)
@@ -4,5 +4,5 @@
  * authors  Ghassan Almaless (2008,2009,2010,2011,2012)
  *          Mohamed Lamine Karaoui (2015)
- *          Alain Greiner (2016,2017,2018)
+ *          Alain Greiner (2016,2017,2018,2019)
  *
  * Copyright (c) UPMC Sorbonne Universites
@@ -112,5 +112,6 @@
     uint32_t        nb_fbf_channels;   /*! number of FBF channels                         */
 
-    char            cluster_info[CONFIG_MAX_CLUSTERS_X][CONFIG_MAX_CLUSTERS_Y];
+    // number of cores for each cluster in the mesh
+    uint8_t         cluster_info[CONFIG_MAX_CLUSTERS_X][CONFIG_MAX_CLUSTERS_Y];
 
     // local parameters
@@ -162,6 +163,7 @@
  * in the local boot-info structure <info> build by the boot-loader.
  * 1) the cluster_info_init() function is called first, to initialize the structural
- *    constants, and cannot use the TXT0 kernel terminal.
- * 2) the cluster_manager_init() function initialize various complex structures:
+ *    constants, including the cluster_info[x][y] array.
+ *    It cannot use the TXT0 kernel terminal.
+ * 2) the cluster_manager_init() function initializes various complex structures:
  *    - the local DQDT nodes,
  *    - the PPM, KHM, and KCM allocators,
@@ -169,5 +171,4 @@
  *    - the local RPC FIFO,
  *    - the process manager.
- *    It does NOT initialise the local device descriptors.
  *    It can use the TXT0 kernel terminal.
  ******************************************************************************************
@@ -178,16 +179,17 @@
 
 /******************************************************************************************
- * This function checks the validity of a cluster identifier. 
- ******************************************************************************************
- * @ cxy    : cluster identifier to be checked.
- * @ returns true if the identified cluster does not exist.
- *****************************************************************************************/
-bool_t cluster_is_undefined( cxy_t cxy );
-
-/******************************************************************************************
- * This function uses the local cluster_info[][] array in cluster descriptor,
- * and returns true when the cluster identified by the <cxy> argument is active.
- ******************************************************************************************
- * @ cxy   : cluster identifier.
+ * This debug function displays the current values stored in the cluster_info[][] array
+ * of a remote cluster identified by the <cxy> argument.
+ * It can be called by a thread running in any cluster.
+ ******************************************************************************************
+ * @ cxy   : remote cluster identifier.
+ *****************************************************************************************/
+void cluster_info_display( cxy_t  cxy );
+
+/******************************************************************************************
+ * This function access the local cluster_info[][] array and returns true when the 
+ * cluster identified by the <cxy> argument is active (contains a kernel instance).
+ ******************************************************************************************
+ * @ cxy   : checked cluster identifier.
  * @ return true if cluster contains a kernel instance.
  *****************************************************************************************/
@@ -300,6 +302,5 @@
  * This function displays on the kernel terminal TXT0 all user processes registered
  * in the cluster defined by the <cxy> argument.
- * It can be called by a thread running in any cluster, because is use remote accesses
- * to scan the xlist of registered processes.
+ * It can be called by a thread running in any cluster.
  ******************************************************************************************
  * @ cxy   : cluster identifier.
@@ -310,7 +311,12 @@
 
 /******************************************************************************************
- * This function uses the local boot_inforeturns the core local index that has the lowest usage in local cluster.
- *****************************************************************************************/
-lid_t cluster_select_local_core( void );
+ * This function selects the core that has the lowest usage in a - possibly remote -
+ * cluster identified by the <cxy> argument.
+ * It can be called by a thread running in any cluster.
+ ******************************************************************************************
+ * @ cxy    : target cluster identifier.
+ * @ return the selected core local index.
+ *****************************************************************************************/
+lid_t cluster_select_local_core( cxy_t  cxy );
 
              
