Ignore:
Timestamp:
Nov 19, 2020, 11:49:01 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/mm/mapper.c

    r657 r672  
    230230    // - it is a directory mapper
    231231    // - it is a file mapper, and it exist data on IOC device for this page
    232     if( (inode == NULL) || (inode_type == INODE_TYPE_DIR) || (inode_size > (page_id << 10) ) )
     232    if( (inode == NULL) || (inode_type == FILE_TYPE_DIR) || (inode_size > (page_id << 10) ) )
    233233    {
    234234        error = vfs_fs_move_page( page_xp , IOC_SYNC_READ );
     
    284284    cxy_t      mapper_cxy = GET_CXY( mapper_xp );
    285285
    286 assert( (hal_remote_lpt( XPTR( mapper_cxy , &mapper_ptr->inode ) ) != NULL ),
     286assert( __FUNCTION__, (hal_remote_lpt( XPTR( mapper_cxy , &mapper_ptr->inode ) ) != NULL ),
    287287"should not be used for the FAT mapper");
    288288
     
    385385    cxy_t      mapper_cxy = GET_CXY( mapper_xp );
    386386
    387 assert( (hal_remote_lpt( XPTR( mapper_cxy , &mapper_ptr->inode ) ) == NULL ),
     387assert( __FUNCTION__, (hal_remote_lpt( XPTR( mapper_cxy , &mapper_ptr->inode ) ) == NULL ),
    388388"should be used for the FAT mapper");
    389389
     
    890890    char       name[CONFIG_VFS_MAX_NAME_LENGTH];
    891891
    892 assert( (nbytes <= 4096)         , "nbytes cannot be larger than 4096");
    893 assert( (mapper_xp != XPTR_NULL) , "mapper_xp argument cannot be null");
     892assert( __FUNCTION__, (nbytes <= 4096)         , "nbytes cannot be larger than 4096");
     893assert( __FUNCTION__, (mapper_xp != XPTR_NULL) , "mapper_xp argument cannot be null");
    894894
    895895    // get mapper cluster and local pointer
     
    908908    mapper_t * mapper  = hal_remote_lpt( XPTR( page_cxy , &page_ptr->mapper ) );
    909909
    910 assert( (mapper_cxy == page_cxy ) , "mapper and page must be in same cluster");
    911 assert( (mapper_ptr == mapper   ) , "unconsistent mapper field in page descriptor");
    912 assert( (page_id    == index    ) , "unconsistent index  field in page descriptor");
     910assert( __FUNCTION__, (mapper_cxy == page_cxy ) , "mapper and page must be in same cluster");
     911assert( __FUNCTION__, (mapper_ptr == mapper   ) , "unconsistent mapper field in page descriptor");
     912assert( __FUNCTION__, (page_id    == index    ) , "unconsistent index  field in page descriptor");
    913913
    914914    // get inode
Note: See TracChangeset for help on using the changeset viewer.