Ignore:
Timestamp:
Jul 27, 2017, 12:23:29 AM (7 years ago)
Author:
alain
Message:

1) Introduce independant command fields for the various devices in the thread descriptor.
2) Introduce a new dev_pic_enable_ipi() function in the generic PIC device
3) Fix two bugs identified by Maxime in the scheduler initialisation, and in the sched_select().
4) fix several bugs in the TSAR hal_kentry.S.
5) Introduce a third kgiet segment (besides kdata and kcode) in the TSAR bootloader.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/cluster.h

    r188 r279  
    9191 * This structure defines a cluster manager.
    9292 * It contains both global platform information, and cluster specific resources
    93  * managed by the local kernel instance.
     93 * controled by the local kernel instance.
    9494 ******************************************************************************************/
    9595
     
    9999
    100100    // global parameters
    101 
    102101        uint32_t          paddr_width;     /*! numer of bits in physical address              */
    103102    uint32_t          x_width;         /*! number of bits to code x_size  (can be 0)      */
     
    109108
    110109    // local parameters
    111 
    112110        uint32_t          cores_nr;        /*! number of cores in cluster                     */
    113111    uint32_t          cores_in_kernel; /*! number of cores currently in kernel mode       */
    114112
     113    uint32_t          ram_size;        /*! physical memory size                           */
     114    uint32_t          ram_base;        /*! physical memory base (local address)           */
     115
    115116        core_t            core_tbl[CONFIG_MAX_LOCAL_CORES];         /*! embedded cores        */
    116117
     118        list_entry_t      dev_root;        /*! root of list of devices in cluster             */
     119
     120    // memory allocators
    117121        ppm_t             ppm;             /*! embedded kernel page manager                   */
    118122        khm_t             khm;             /*! embedded kernel heap manager                   */
    119123        kcm_t             kcm;             /*! embedded kernel cache manager (for KCMs)       */
    120 
    121124    kcm_t           * kcm_tbl[KMEM_TYPES_NR];         /*! pointers on allocated KCMs      */
    122125
    123     uint32_t          ram_size;        /*! physical memory size                           */
    124     uint32_t          ram_base;        /*! physical memory base (local address)           */
    125 
    126         rpc_fifo_t        rpc_fifo;        /*! cluster RPC fifo (shared)                      */
    127         list_entry_t      devlist;         /*! root of list of devices in cluster             */
    128 
     126    // RPC
     127        rpc_fifo_t        rpc_fifo;        /*! RPC fifo                                       */
     128    uint32_t          rpc_threads;     /*! current number of RPC threads                  */
     129
     130    // DQDT
    129131    int32_t           pages_var;       /*! pages number increment from last DQQT update   */
    130132    int32_t           threads_var;     /*! threads number increment from last DQDT update */
     
    132134        dqdt_node_t       dqdt_tbl[CONFIG_MAX_DQDT_DEPTH];     /*! embedded DQDT nodes        */
    133135
     136    // Local process manager
    134137    pmgr_t            pmgr;            /*! embedded process manager                       */
    135138
Note: See TracChangeset for help on using the changeset viewer.