Ignore:
Timestamp:
Jun 26, 2017, 3:15:11 PM (5 years ago)
Author:
alain
Message:

bloup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/vfs/devfs.c

    r23 r50  
    139139    xptr_t   new_inode_xp;
    140140
    141 printk("\n        @@@ devfs_chdev : 0 / name = %s\n", name );
    142 
     141    devfs_dmsg("\n[INFO] %s : create dentry for %s\n", __FUNCTION__ , name );
     142   
    143143    // create vfs_dentry in local cluster
    144144    error = vfs_dentry_create( FS_TYPE_DEVFS,
     
    146146                               parent,
    147147                               &new_dentry_xp );
    148 
    149 printk("\n        @@@ devfs_chdev : 1 / name = %s\n", name );
    150 
    151148    if ( error )
    152149    {
     
    156153    }
    157154
    158 printk("\n        @@@ devfs_chdev : 2 / name = %s\n", name );
    159 
     155    devfs_dmsg("\n[INFO] %s : create inode for %s\n", __FUNCTION__ , name );
     156   
    160157    // create vfs_inode in local cluster
    161158    uint32_t  attr   = 0;
     
    171168                              gid,
    172169                              &new_inode_xp );
    173 
    174 printk("\n        @@@ devfs_chdev : 3 / name = %s\n", name );
    175 
    176170    if( error )
    177171    {
     
    229223    ///// step 1 : all clusters initialize local DEVFS context  /////
    230224
    231 printk("\n    @@@ devfs_mount : 0 / name = %s\n", devfs_root_name );
    232 
    233225    devfs_ctx_init( vfs_ctx , parent_inode_xp );
    234226
    235227    ///// step 2 : cluster_0 creates DEVFS root    /////
    236 
    237 printk("\n    @@@ devfs_mount : 1 / name = %s\n", devfs_root_name );
    238228
    239229    if( local_cxy == 0 )
     
    242232                                parent_inode_xp,
    243233                                &root_inode_xp );
    244 printk("\n    @@@ devfs_mount : 2\n");
    245 
    246234    }
    247235
     
    251239    ///// step 3 : all clusters create "internal" directory and chdevs  /////
    252240
    253 printk("\n    @@@ devfs_mount : 3 / name = %s\n", devfs_root_name );
     241    // TODO check device existence : (chdev_xp != XPTR_NULL) in chdev_dir
    254242
    255243    snprintf( node_name , 16 , "internal_%x" , local_cxy );
    256 
    257 printk("\n    @@@ devfs_mount : 4 / name = %s\n", devfs_root_name );
    258244
    259245    devfs_create_directory( node_name,
    260246                            root_inode_xp,
    261247                            &internal_inode_xp );
    262 
    263 printk("\n    @@@ devfs_mount : 5 / name = %s\n", devfs_root_name );
    264248
    265249    // create ICU chdev inode
     
    270254                          &chdev_inode_xp );
    271255
    272 printk("\n    @@@ devfs_mount : 6 / name = %s\n", devfs_root_name );
    273 
    274256    // create MMC chdev inode
    275257    chdev_ptr = (chdev_t *)GET_PTR( chdev_dir.mmc[local_cxy] );
     
    279261                          &chdev_inode_xp );
    280262
    281 printk("\n    @@@ devfs_mount : 7 / name = %s\n", devfs_root_name );
    282 
    283263    // create DMA chdev inodes (one DMA channel per core)
    284264    for( channel = 0 ; channel < cluster->cores_nr ; channel++ )
     
    290270                              (vfs_inode_t *)GET_PTR( internal_inode_xp ),
    291271                              &chdev_inode_xp );
    292 
    293 printk("\n    @@@ devfs_mount : 8 / name = %s\n", devfs_root_name );
    294 
    295272    }
    296273
    297274    ///// step 4 : cluster_io creates "external" directory and chdevs /////
     275
     276    // TODO check device existence : (chdev_xp != XPTR_NULL) in chdev_dir
    298277
    299278    if( local_cxy == cluster->io_cxy )
     
    302281                                root_inode_xp,
    303282                                &external_inode_xp );
    304 
    305 printk("\n    @@@ devfs_mount : 9 / name = %s\n", devfs_root_name );
    306283
    307284        // create IOB chdev inode
     
    312289                              &chdev_inode_xp );
    313290       
    314 printk("\n    @@@ devfs_mount : 10 / name = %s\n", devfs_root_name );
    315 
    316291        // create PIC chdev inode
    317292        chdev_ptr = (chdev_t *)GET_PTR( chdev_dir.pic );
     
    374349                                  (vfs_inode_t *)GET_PTR( external_inode_xp ),
    375350                                  &chdev_inode_xp );
    376 printk("\n    @@@ devfs_mount : 11 / name = %s\n", devfs_root_name );
    377 
    378351        }
    379352    }
     
    676649
    677650
    678 const struct vfs_file_op_s devfs_f_op =
    679 {
    680         .open    = devfs_open,
    681         .read    = devfs_read,
    682         .write   = devfs_write,
    683         .lseek   = devfs_lseek,
    684         .mmap    = devfs_mmap,
    685         .munmap  = devfs_munmap,
    686         .readdir = devfs_readdir,
    687         .close   = devfs_close,
    688         .release = devfs_release
    689 };
    690 
    691651*/
    692652
Note: See TracChangeset for help on using the changeset viewer.