Index: trunk/kernel/kern/core.h
===================================================================
--- trunk/kernel/kern/core.h	(revision 101)
+++ trunk/kernel/kern/core.h	(revision 188)
@@ -36,11 +36,12 @@
 struct thread_s;
 struct chdev_s;
-
+enum   pic_impl_e;
 
 /****************************************************************************************
  * This structure defines the core descriptor.
- * - It contains an embedded private scheduler.
- * - It contains the three interrupt vectors, implemented as three arrays of pointers
- *   on the source channel devices, for all IRQs allocated to the core.
+ * Besides the core identifiers (gid,lid), it contains an embedded private scheduler.
+ * It contains an architecture specific extension to store the interrupt vector(s).
+ * The core_init()function must allocate memory for this extension, depending on the
+ * PIC device implementation type.
  ***************************************************************************************/
 
@@ -55,38 +56,36 @@
 	uint32_t            usage;          /*! cumulated busy_percent (idle / total)      */
 	uint32_t            spurious_irqs;  /*! for instrumentation...                     */
+    uint32_t            rpc_threads;    /*! current RPC threads number for this core   */
 	struct thread_s   * thread_rpc;     /*! pointer on current RPC thread descriptor   */
 	struct thread_s   * thread_idle;    /*! pointer on idle thread descriptor          */
 	struct thread_s   * fpu_owner;      /*! pointer on current FPU owner thread        */
     uint32_t            rand_last;      /*! last computed random value                 */
-	uint32_t            rpc_threads;    /*! total number of RPC threads for this core  */
-	list_entry_t        rpc_free_list;  /*! root of the list of free RPC threads       */
-
 	scheduler_t         scheduler;      /*! embedded private scheduler                 */
 
-    struct chdev_s    * hwi_vector[CONFIG_MAX_HWIS_PER_ICU];     /*! on source device  */
-    struct chdev_s    * pti_vector[CONFIG_MAX_PTIS_PER_ICU];     /*! on source device  */
-    struct chdev_s    * wti_vector[CONFIG_MAX_WTIS_PER_ICU];     /*! on source device  */
+    void              * pic_extend;     /*! PIC implementation specific extension      */
 }
 core_t;
 
-/***************************************************************************************
+/****************************************************************************************
  * This macro returns a pointer on the calling core descriptor.
- **************************************************************************************/
+ ***************************************************************************************/
 
 #define CURRENT_CORE  (CURRENT_THREAD->core)
 
 /***************************************************************************************
- * TODO this initialisation must be completed for the thread_idle field... [AG]
- * This function initializes a core descriptor from information found in arch_info.
+ * This function initializes a core descriptor.
  * It makes the association [gid] <=> [lid], as defined in arch_info, via the
  * boot_info_t structure build by the bootloader in each cluster.
+ * It allocates memory for the PIC infrastructure specific core extension.
+ * It does NOT initialize the <thread_idle> and the <pic_extend> fields, 
+ * that must be completed later.
  ***************************************************************************************
  * @ core      : pointer on core descriptor to initialise.
- * @ lid       : local core index
- * @ gid       : global core identifier (hardware index)
+ * @ lid       : local core index in cluster.
+ * @ gid       : global core identifier (hardware index).
  **************************************************************************************/
-void core_init( core_t   * core,
-                lid_t      lid,
-                gid_t      gid );
+void core_init( core_t          * core,
+                lid_t             lid,
+                gid_t             gid );
 
 /***************************************************************************************
