Changeset 380 for trunk/kernel
- Timestamp:
- Aug 14, 2017, 6:31:25 PM (7 years ago)
- Location:
- trunk/kernel
- Files:
-
- 2 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/core.c
r367 r380 71 71 uint32_t * tm_us ) 72 72 { 73 *tm_s = (core->ticks_nr*CONFIG_SCHED_TICK_ PERIOD)/1000;74 *tm_us = (core->ticks_nr*CONFIG_SCHED_TICK_ PERIOD*1000)%1000000;73 *tm_s = (core->ticks_nr*CONFIG_SCHED_TICK_MS_PERIOD)/1000; 74 *tm_us = (core->ticks_nr*CONFIG_SCHED_TICK_MS_PERIOD*1000)%1000000; 75 75 } 76 76 … … 158 158 } 159 159 160 161 /* deprecated [AG] july 20017162 ///////////////////////////////////////////////////163 void core_set_irq_vector_entry( core_t * core,164 uint32_t irq_type,165 uint32_t irq_id,166 chdev_t * chdev )167 {168 if ( irq_type == WTI_TYPE ) core->wti_vector[irq_id] = chdev;169 else if( irq_type == HWI_TYPE ) core->hwi_vector[irq_id] = chdev;170 else core->pti_vector[irq_id] = chdev;171 }172 */ -
trunk/kernel/kern/kernel_init.c
r337 r380 1122 1122 } 1123 1123 1124 // each core activates its private TICK IRQ 1125 dev_pic_enable_timer( CONFIG_SCHED_TICK _PERIOD);1124 // each core activates its private TICK IRQ (number of ticks) 1125 dev_pic_enable_timer( CONFIG_SCHED_TICKS_PER_QUANTUM ); 1126 1126 1127 1127 // each core jump to idle thread -
trunk/kernel/kern/process.c
r374 r380 627 627 parent_pid = hal_remote_lw( XPTR( parent_cxy , &parent_ptr->pid ) ); 628 628 629 exec_dmsg("\n[INFO] %s : thread %x on core[%x, ‰d] enters for path = %s\n",630 __FUNCTION__, CURRENT_THREAD->trdid, local_cxy, CURRENT_THREAD->core->lid , path );629 exec_dmsg("\n[INFO] %s : thread %x on core[%x,%d] enters for path = %s\n", 630 __FUNCTION__, CURRENT_THREAD->trdid, local_cxy, CURRENT_THREAD->core->lid , path ); 631 631 632 632 // create new process descriptor … … 654 654 process_reference_init( process , pid , parent_xp ); 655 655 656 exec_dmsg("\n[INFO] %s : thread %x on core[%x, ‰d] created process %x / path = %s\n",656 exec_dmsg("\n[INFO] %s : thread %x on core[%x,%d] created process %x / path = %s\n", 657 657 __FUNCTION__, CURRENT_THREAD->trdid, local_cxy, CURRENT_THREAD->core->lid, pid, path ); 658 658 -
trunk/kernel/vfs/vfs.c
r367 r380 1351 1351 error_t error; 1352 1352 1353 vfs_dmsg("\n[INFO] %s : enters for <%s> at cycle %d\n",1354 __FUNCTION__ , pathname , (uint32_t)hal_time_stamp() );1355 1356 1353 this = CURRENT_THREAD; 1357 1354 process = this->process; 1355 1356 vfs_dmsg("\n[INFO] %s : enter for <%s> / core[%x,%d] / cycle %d\n", 1357 __FUNCTION__ , pathname , local_cxy , this->core->lid , hal_time_stamp() ); 1358 1358 1359 1359 // get extended pointer on first inode to search … … 1377 1377 vfs_get_name_from_path( current , name , &next , &last ); 1378 1378 1379 vfs_dmsg("\n[INFO] %s : looking for <%s> / last = %d\n",1380 __FUNCTION__ , name, last );1379 vfs_dmsg("\n[INFO] %s : looking for <%s> / core[%x,%d] / last = %d\n", 1380 __FUNCTION__ , name , local_cxy , this->core->lid , last ); 1381 1381 1382 1382 // search a child dentry matching name in parent inode … … 1395 1395 if (found == false ) // child node not found in inode tree 1396 1396 { 1397 vfs_dmsg("\n[INFO] %s : <%s> not found , try to load it\n",1398 __FUNCTION__ , name);1397 vfs_dmsg("\n[INFO] %s : <%s> not found => load it / core[%x,%d]\n", 1398 __FUNCTION__ , local_cxy , this->core->lid ); 1399 1399 1400 1400 // release lock on parent inode … … 1423 1423 { 1424 1424 printk("\n[ERROR] in %s : no memory for inode %s in path %s\n", 1425 1425 __FUNCTION__ , name , pathname ); 1426 1426 return ENOMEM; 1427 1427 } … … 1445 1445 if ( error ) 1446 1446 { 1447 printk("\n[ERROR] in %s : node %s not found in path %s\n",1448 __FUNCTION__ , name , pathname );1447 printk("\n[ERROR] in %s : core[%x,%d] / <%s> not found in parent\n", 1448 __FUNCTION__ , local_cxy , this->core->lid , name ); 1449 1449 return ENOENT; 1450 1450 } … … 1470 1470 if ( error ) 1471 1471 { 1472 printk("\n[ERROR] in %s : c annot access device for node %s in path %s\n",1473 __FUNCTION__ , name , pathname );1472 printk("\n[ERROR] in %s : core[%x,%d] cannot access device for <%s>\n", 1473 __FUNCTION__ , local_cxy , this->core->lid , name ); 1474 1474 return EIO; 1475 1475 } … … 1482 1482 } 1483 1483 1484 vfs_dmsg("\n[INFO] %s : found <%s> / parent = %l / child = %l / last = %d\n",1485 __FUNCTION__ , name , parent_xp , child_xp , last);1486 1487 // TODO check access rights 1484 vfs_dmsg("\n[INFO] %s : found <%s> / core[%x,%d] / parent = %l / child = %l\n", 1485 __FUNCTION__ , name , local_cxy , this->core->lid , parent_xp , child_xp ); 1486 1487 // TODO check access rights here [AG] 1488 1488 // error = vfs_access_denied( child_xp, 1489 1489 // client_uid, … … 1508 1508 vfs_inode_unlock( parent_xp ); 1509 1509 1510 vfs_dmsg("\n[INFO] in%s : exit <%s> found / inode = %l\n",1510 vfs_dmsg("\n[INFO] %s : exit <%s> found / inode = %l\n", 1511 1511 __FUNCTION__ , pathname , child_xp ); 1512 1512 … … 1607 1607 parent_ptr = (vfs_inode_t *)GET_PTR( parent_xp ); 1608 1608 1609 vfs_dmsg("\n[INFO] %s : enter in cluster %x for <%s>/ child_cxy = %x / parent_xp = %l\n",1610 __FUNCTION__ , local_cxy , name, child_cxy , parent_xp );1609 vfs_dmsg("\n[INFO] %s : enter for <%s> / core[%x,%d] / child_cxy = %x / parent_xp = %l\n", 1610 __FUNCTION__ , name , local_cxy , CURRENT_THREAD->core->lid , child_cxy , parent_xp ); 1611 1611 1612 1612 // 1. create dentry
Note: See TracChangeset
for help on using the changeset viewer.