Ignore:
Timestamp:
Nov 19, 2020, 11:44:34 PM (4 years ago)
Author:
alain
Message:

1) Introduce up to 4 command lines arguments in the KSH "load" command.
These arguments are transfered to the user process through the
argc/argv mechanism, using the user space "args" vseg.

2) Introduce the named and anonymous "pipes", for inter-process communication
through the pipe() and mkfifo() syscalls.

3) Introduce the "chat" application to validate the two above mechanisms.

4) Improve printk() and assert() fonctions in printk.c.

File:
1 edited

Legend:

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

    r657 r669  
    2828#include <kernel_config.h>
    2929#include <hal_kernel_types.h>
     30#include <busylock.h>
    3031#include <list.h>
    3132#include <rpc.h>
     
    3637struct thread_s;
    3738struct chdev_s;
    38 enum   pic_impl_e;
    3939
    4040/****************************************************************************************
     
    5454        uint32_t            time_stamp;     /*! previous time stamp (read from register)   */
    5555
     56    list_entry_t        alarms_root;    /*! root of list of attached alarms            */
     57    busylock_t          alarms_lock;    /*! lock protecting the list of alarms         */
     58
    5659        uint32_t            ticks_nr;       /*! number of elapsed ticks                    */
    5760        uint32_t            usage;          /*! cumulated busy_percent (idle / total)      */
     
    7073 * It makes the association [gid] <=> [lid], as defined in arch_info, via the
    7174 * boot_info_t structure build by the bootloader in each cluster.
    72  * It allocates memory for the PIC infrastructure specific core extension.
    73  * It does NOT initialize the <thread_idle> and the <pic_extend> fields,
    74  * that must be completed later.
     75 * It initializes the core scheduler structures, and the alarms list and lock.
     76 * It allocates memory for the PIC infrastructure specific core extension,
     77 * but it does NOT initialize the <pic_extend> fields, that must be completed later.
    7578 ***************************************************************************************
    7679 * @ core      : pointer on core descriptor to initialise.
     
    8487/***************************************************************************************
    8588 * This function returns the calling core local index (lid), making an associative
    86  * in the local core_tbl[] array based on the hardwired (gid).
     89 * search in the local core_tbl[] array, based on the hardwired (gid).
    8790 ***************************************************************************************
    8891 * @ returns always the lid value.
     
    113116/***************************************************************************************
    114117 * This function must be called at each TICK.
    115  * It updates the  cycles and ticks counter in the calling core descriptor.
    116  * It handles all pending alarms depending on the ticks counter value.
    117  * It handles the scheduling, depending on the ticks counter value.
    118  * It handles the global DQDT update, depending on the ticks counter vakue.
     118 * - it updates the ticks counter in the calling core descriptor.
     119 * - it checks the registered alarms depending on the ticks counter value.
     120 * - it calls the scheduler, depending on the ticks counter value.
    119121 ***************************************************************************************
    120122 * @ core       : pointer on core descriptor.
Note: See TracChangeset for help on using the changeset viewer.