=============================================================================== 40010a0c : 40010a0c: 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 ff ................ 40010a1c: 00 00 00 ff 00 00 00 02 00 00 00 01 00 00 00 02 ................ 40010a2c: 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 ................ 40010a3c: 00 00 00 00 4e 4f 4e 42 4c 4f 43 4b 00 00 00 00 ....NONBLOCK.... 40010a4c: 00 00 00 00 41 50 50 45 4e 44 00 00 52 45 41 44 ....APPEND..READ 40010a5c: 00 00 00 00 57 52 49 54 45 00 00 00 52 45 41 44 ....WRITE...READ 40010a6c: 2f 57 52 49 54 45 00 00 /WRITE.. =============================================================================== 40002d90 : int IMFS_chown( const rtems_filesystem_location_info_t *loc, uid_t owner, gid_t group ) { 40002d90: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *jnode; jnode = (IMFS_jnode_t *) loc->node_access; 40002d94: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED jnode->st_uid = owner; 40002d98: f2 37 60 1c sth %i1, [ %i5 + 0x1c ] <== NOT EXECUTED static inline time_t _IMFS_get_time( void ) { struct bintime now; /* Use most efficient way to get the time in seconds (CLOCK_REALTIME) */ _Timecounter_Getbintime( &now ); 40002d9c: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED jnode->st_gid = group; 40002da0: f4 37 60 1e sth %i2, [ %i5 + 0x1e ] <== NOT EXECUTED 40002da4: 40 00 15 c2 call 400084ac <_Timecounter_Getbintime> <== NOT EXECUTED 40002da8: b0 10 20 00 clr %i0 <== NOT EXECUTED return now.sec; 40002dac: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_mtime = _IMFS_get_time(); } static inline void IMFS_update_ctime( IMFS_jnode_t *jnode ) { jnode->stat_ctime = _IMFS_get_time(); 40002db0: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED IMFS_update_ctime( jnode ); return 0; } 40002db4: 81 c7 e0 08 ret <== NOT EXECUTED 40002db8: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000d0e8 : const char *name, size_t namelen, mode_t mode, void *arg ) { 4000d0e8: 9d e3 bf a0 save %sp, -96, %sp IMFS_jnode_t *allocated_node; IMFS_jnode_t *node; allocated_node = calloc( 1, node_size + namelen ); 4000d0ec: 90 10 20 01 mov 1, %o0 4000d0f0: 7f ff dd 17 call 4000454c 4000d0f4: 92 06 80 1c add %i2, %i4, %o1 if ( allocated_node == NULL ) { 4000d0f8: a0 92 20 00 orcc %o0, 0, %l0 4000d0fc: 02 80 00 1c be 4000d16c <== NEVER TAKEN 4000d100: da 07 a0 5c ld [ %fp + 0x5c ], %o5 errno = ENOMEM; return NULL; } node = IMFS_initialize_node( 4000d104: 98 10 00 1d mov %i5, %o4 4000d108: 96 10 00 1c mov %i4, %o3 4000d10c: 94 04 00 1a add %l0, %i2, %o2 4000d110: 7f ff db da call 40004078 4000d114: 92 10 00 19 mov %i1, %o1 (char *) allocated_node + node_size, namelen, mode, arg ); if ( node != NULL ) { 4000d118: ba 92 20 00 orcc %o0, 0, %i5 4000d11c: 02 80 00 0f be 4000d158 <== NEVER TAKEN 4000d120: 94 10 00 1c mov %i4, %o2 IMFS_jnode_t *parent = parentloc->node_access; memcpy( RTEMS_DECONST( char *, node->name ), name, namelen ); 4000d124: d0 07 60 0c ld [ %i5 + 0xc ], %o0 IMFS_jnode_t *parent = parentloc->node_access; 4000d128: f4 06 20 08 ld [ %i0 + 8 ], %i2 memcpy( RTEMS_DECONST( char *, node->name ), name, namelen ); 4000d12c: 40 00 05 c8 call 4000e84c 4000d130: 92 10 00 1b mov %i3, %o1 old_last = tail->previous; 4000d134: c2 06 a0 48 ld [ %i2 + 0x48 ], %g1 return &the_chain->Tail.Node; 4000d138: 84 06 a0 44 add %i2, 0x44, %g2 entry_node->Parent = dir_node; 4000d13c: f4 27 60 08 st %i2, [ %i5 + 8 ] the_node->next = tail; 4000d140: c4 27 40 00 st %g2, [ %i5 ] tail->previous = the_node; 4000d144: fa 26 a0 48 st %i5, [ %i2 + 0x48 ] old_last->next = the_node; 4000d148: fa 20 40 00 st %i5, [ %g1 ] the_node->previous = old_last; 4000d14c: c2 27 60 04 st %g1, [ %i5 + 4 ] } else { free( allocated_node ); } return node; } 4000d150: 81 c7 e0 08 ret 4000d154: 91 e8 00 1d restore %g0, %i5, %o0 free( allocated_node ); 4000d158: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED 4000d15c: 7f ff dd 47 call 40004678 <== NOT EXECUTED 4000d160: b0 10 00 1d mov %i5, %i0 <== NOT EXECUTED } 4000d164: 81 c7 e0 08 ret <== NOT EXECUTED 4000d168: 81 e8 00 00 restore <== NOT EXECUTED errno = ENOMEM; 4000d16c: 40 00 05 7b call 4000e758 <__errno> <== NOT EXECUTED 4000d170: ba 10 20 00 clr %i5 <== NOT EXECUTED 4000d174: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED return NULL; 4000d178: 10 bf ff f6 b 4000d150 <== NOT EXECUTED 4000d17c: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED =============================================================================== 40003200 : int IMFS_fchmod( const rtems_filesystem_location_info_t *loc, mode_t mode ) { 40003200: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *jnode; jnode = loc->node_access; 40003204: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED jnode->st_mode = mode; 40003208: f2 27 60 14 st %i1, [ %i5 + 0x14 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 4000320c: 40 00 14 a8 call 400084ac <_Timecounter_Getbintime> <== NOT EXECUTED 40003210: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED return now.sec; 40003214: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 40003218: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED IMFS_update_ctime( jnode ); return 0; } 4000321c: 81 c7 e0 08 ret <== NOT EXECUTED 40003220: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED =============================================================================== 40004078 : const char *name, size_t namelen, mode_t mode, void *arg ) { 40004078: 9d e3 bf 90 save %sp, -112, %sp struct timeval tv; if ( namelen > IMFS_NAME_MAX ) { 4000407c: 80 a6 e0 ff cmp %i3, 0xff 40004080: 18 80 00 19 bgu 400040e4 <== NEVER TAKEN 40004084: 92 10 20 00 clr %o1 errno = ENAMETOOLONG; return NULL; } gettimeofday( &tv, 0 ); 40004088: 40 00 01 aa call 40004730 4000408c: 90 07 bf f0 add %fp, -16, %o0 /* * Fill in the basic information */ node->name = name; node->namelen = namelen; node->reference_count = 1; 40004090: 03 00 00 40 sethi %hi(0x10000), %g1 node->name = name; 40004094: f4 26 20 0c st %i2, [ %i0 + 0xc ] node->reference_count = 1; 40004098: 82 10 60 01 or %g1, 1, %g1 node->namelen = namelen; 4000409c: f6 36 20 10 sth %i3, [ %i0 + 0x10 ] node->reference_count = 1; 400040a0: c2 26 20 18 st %g1, [ %i0 + 0x18 ] node->st_nlink = 1; node->control = node_control; 400040a4: f2 26 20 38 st %i1, [ %i0 + 0x38 ] /* * Fill in the mode and permission information for the jnode structure. */ node->st_mode = mode; node->st_uid = geteuid(); 400040a8: 40 00 01 9c call 40004718 400040ac: f8 26 20 14 st %i4, [ %i0 + 0x14 ] node->st_gid = getegid(); 400040b0: 40 00 01 94 call 40004700 400040b4: d0 36 20 1c sth %o0, [ %i0 + 0x1c ] /* * Now set all the times. */ node->stat_atime = (time_t) tv.tv_sec; 400040b8: c4 1f bf f0 ldd [ %fp + -16 ], %g2 node->st_gid = getegid(); 400040bc: d0 36 20 1e sth %o0, [ %i0 + 0x1e ] node->stat_mtime = (time_t) tv.tv_sec; node->stat_ctime = (time_t) tv.tv_sec; return (*node_control->node_initialize)( node, arg ); 400040c0: 92 10 00 1d mov %i5, %o1 node->stat_atime = (time_t) tv.tv_sec; 400040c4: c4 3e 20 20 std %g2, [ %i0 + 0x20 ] node->stat_mtime = (time_t) tv.tv_sec; 400040c8: c4 3e 20 28 std %g2, [ %i0 + 0x28 ] node->stat_ctime = (time_t) tv.tv_sec; 400040cc: c4 3e 20 30 std %g2, [ %i0 + 0x30 ] return (*node_control->node_initialize)( node, arg ); 400040d0: c2 06 60 04 ld [ %i1 + 4 ], %g1 400040d4: 9f c0 40 00 call %g1 400040d8: 90 10 00 18 mov %i0, %o0 } 400040dc: 81 c7 e0 08 ret 400040e0: 91 e8 00 08 restore %g0, %o0, %o0 errno = ENAMETOOLONG; 400040e4: 40 00 29 9d call 4000e758 <__errno> <== NOT EXECUTED 400040e8: b0 10 20 00 clr %i0 <== NOT EXECUTED 400040ec: 82 10 20 5b mov 0x5b, %g1 <== NOT EXECUTED 400040f0: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED return NULL; 400040f4: 81 c7 e0 08 ret <== NOT EXECUTED 400040f8: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003274 : { 40003274: 9d e3 bf a0 save %sp, -96, %sp IMFS_fs_info_t *fs_info = mount_data->fs_info; 40003278: fa 06 40 00 ld [ %i1 ], %i5 fs_info->mknod_controls = mount_data->mknod_controls; 4000327c: c2 06 60 08 ld [ %i1 + 8 ], %g1 40003280: c2 27 60 50 st %g1, [ %i5 + 0x50 ] root_node = IMFS_initialize_node( 40003284: 9a 10 20 00 clr %o5 40003288: d2 00 40 00 ld [ %g1 ], %o1 4000328c: 96 10 20 00 clr %o3 40003290: 19 00 00 10 sethi %hi(0x4000), %o4 40003294: 90 10 00 1d mov %i5, %o0 40003298: 98 13 21 ed or %o4, 0x1ed, %o4 4000329c: 15 10 00 40 sethi %hi(0x40010000), %o2 400032a0: 40 00 03 76 call 40004078 400032a4: 94 12 a1 a0 or %o2, 0x1a0, %o2 ! 400101a0 mt_entry->ops = mount_data->ops; 400032a8: c2 06 60 04 ld [ %i1 + 4 ], %g1 loc->handlers = node->control->handlers; 400032ac: c4 02 20 38 ld [ %o0 + 0x38 ], %g2 400032b0: c2 26 20 0c st %g1, [ %i0 + 0xc ] mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS; 400032b4: 03 10 00 42 sethi %hi(0x40010800), %g1 400032b8: 82 10 62 0c or %g1, 0x20c, %g1 ! 40010a0c mt_entry->fs_info = fs_info; 400032bc: fa 26 20 08 st %i5, [ %i0 + 8 ] mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS; 400032c0: c2 26 20 2c st %g1, [ %i0 + 0x2c ] 400032c4: c4 00 80 00 ld [ %g2 ], %g2 mt_entry->mt_fs_root->location.node_access = root_node; 400032c8: c2 06 20 24 ld [ %i0 + 0x24 ], %g1 400032cc: d0 20 60 08 st %o0, [ %g1 + 8 ] 400032d0: c4 20 60 10 st %g2, [ %g1 + 0x10 ] IMFS_determine_bytes_per_block( 400032d4: 03 10 00 47 sethi %hi(0x40011c00), %g1 400032d8: c6 00 61 e8 ld [ %g1 + 0x1e8 ], %g3 ! 40011de8 if (bit_mask == requested_bytes_per_block) { 400032dc: 80 a0 e0 10 cmp %g3, 0x10 400032e0: 02 80 00 0e be 40003318 <== NEVER TAKEN 400032e4: 80 a0 e0 0f cmp %g3, 0xf if(bit_mask > requested_bytes_per_block) 400032e8: 04 80 00 0b ble 40003314 <== NEVER TAKEN 400032ec: 82 10 20 20 mov 0x20, %g1 400032f0: 84 10 20 05 mov 5, %g2 if (bit_mask == requested_bytes_per_block) { 400032f4: 80 a0 c0 01 cmp %g3, %g1 400032f8: 22 80 00 09 be,a 4000331c 400032fc: 03 10 00 4d sethi %hi(0x40013400), %g1 if(bit_mask > requested_bytes_per_block) 40003300: 26 80 00 06 bl,a 40003318 <== NEVER TAKEN 40003304: 86 10 20 80 mov 0x80, %g3 <== NOT EXECUTED for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) { 40003308: 84 80 bf ff addcc %g2, -1, %g2 4000330c: 12 bf ff fa bne 400032f4 <== ALWAYS TAKEN 40003310: 83 28 60 01 sll %g1, 1, %g1 : default_bytes_per_block); 40003314: 86 10 20 80 mov 0x80, %g3 <== NOT EXECUTED *dest_bytes_per_block = ((is_valid) 40003318: 03 10 00 4d sethi %hi(0x40013400), %g1 <== NOT EXECUTED 4000331c: c6 20 60 c4 st %g3, [ %g1 + 0xc4 ] ! 400134c4 } 40003320: 81 c7 e0 08 ret 40003324: 91 e8 20 00 restore %g0, 0, %o0 =============================================================================== 40003414 : { 40003414: 9d e3 bf 88 save %sp, -120, %sp <== NOT EXECUTED target = targetloc->node_access; 40003418: fa 06 60 08 ld [ %i1 + 8 ], %i5 <== NOT EXECUTED if ( target->st_nlink >= LINK_MAX ) 4000341c: c2 17 60 1a lduh [ %i5 + 0x1a ], %g1 <== NOT EXECUTED 40003420: 80 a0 60 07 cmp %g1, 7 <== NOT EXECUTED 40003424: 18 80 00 19 bgu 40003488 <== NOT EXECUTED 40003428: 9a 10 21 ff mov 0x1ff, %o5 <== NOT EXECUTED new_node = IMFS_create_node( 4000342c: fa 23 a0 5c st %i5, [ %sp + 0x5c ] <== NOT EXECUTED 40003430: 98 10 00 1b mov %i3, %o4 <== NOT EXECUTED 40003434: 96 10 00 1a mov %i2, %o3 <== NOT EXECUTED 40003438: 94 10 20 48 mov 0x48, %o2 <== NOT EXECUTED 4000343c: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED 40003440: 13 10 00 40 sethi %hi(0x40010000), %o1 <== NOT EXECUTED 40003444: 40 00 27 29 call 4000d0e8 <== NOT EXECUTED 40003448: 92 12 62 a8 or %o1, 0x2a8, %o1 ! 400102a8 <== NOT EXECUTED if ( !new_node ) 4000344c: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003450: 02 80 00 14 be 400034a0 <== NOT EXECUTED 40003454: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED target->reference_count++; 40003458: c4 17 60 18 lduh [ %i5 + 0x18 ], %g2 <== NOT EXECUTED target->st_nlink++; 4000345c: c2 17 60 1a lduh [ %i5 + 0x1a ], %g1 <== NOT EXECUTED target->reference_count++; 40003460: 84 00 a0 01 inc %g2 <== NOT EXECUTED target->st_nlink++; 40003464: 82 00 60 01 inc %g1 <== NOT EXECUTED target->reference_count++; 40003468: c4 37 60 18 sth %g2, [ %i5 + 0x18 ] <== NOT EXECUTED target->st_nlink++; 4000346c: c2 37 60 1a sth %g1, [ %i5 + 0x1a ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40003470: 40 00 14 0f call 400084ac <_Timecounter_Getbintime> <== NOT EXECUTED 40003474: b0 10 20 00 clr %i0 <== NOT EXECUTED return now.sec; 40003478: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 4000347c: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED } 40003480: 81 c7 e0 08 ret <== NOT EXECUTED 40003484: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EMLINK ); 40003488: 40 00 2c b4 call 4000e758 <__errno> <== NOT EXECUTED 4000348c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003490: 82 10 20 1f mov 0x1f, %g1 <== NOT EXECUTED 40003494: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40003498: 81 c7 e0 08 ret <== NOT EXECUTED 4000349c: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 400034a0: 40 00 2c ae call 4000e758 <__errno> <== NOT EXECUTED 400034a4: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 400034a8: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 400034ac: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 400034b0: 81 c7 e0 08 ret <== NOT EXECUTED 400034b4: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000d180 : const char *path, mode_t mode, const IMFS_node_control *node_control, void *context ) { 4000d180: 9d e3 bf 50 save %sp, -176, %sp int rv = 0; mode &= ~rtems_filesystem_umask; 4000d184: 7f ff e0 4b call 400052b0 4000d188: 01 00 00 00 nop 4000d18c: da 02 20 08 ld [ %o0 + 8 ], %o5 4000d190: b2 2e 40 0d andn %i1, %o5, %i1 switch (mode & S_IFMT) { 4000d194: 03 00 00 3c sethi %hi(0xf000), %g1 4000d198: 05 00 00 18 sethi %hi(0x6000), %g2 4000d19c: 82 0e 40 01 and %i1, %g1, %g1 4000d1a0: 80 a0 40 02 cmp %g1, %g2 4000d1a4: 02 80 00 0c be 4000d1d4 <== NEVER TAKEN 4000d1a8: 94 10 20 78 mov 0x78, %o2 4000d1ac: 08 80 00 1d bleu 4000d220 <== ALWAYS TAKEN 4000d1b0: 05 00 00 04 sethi %hi(0x1000), %g2 4000d1b4: 05 00 00 20 sethi %hi(0x8000), %g2 <== NOT EXECUTED 4000d1b8: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 4000d1bc: 02 80 00 06 be 4000d1d4 <== NOT EXECUTED 4000d1c0: 05 00 00 30 sethi %hi(0xc000), %g2 <== NOT EXECUTED 4000d1c4: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 4000d1c8: 12 80 00 1c bne 4000d238 <== NOT EXECUTED 4000d1cc: 01 00 00 00 nop <== NOT EXECUTED if ( rv == 0 ) { rtems_filesystem_eval_path_context_t ctx; int eval_flags = RTEMS_FS_FOLLOW_LINK | RTEMS_FS_MAKE | RTEMS_FS_EXCLUSIVE; const rtems_filesystem_location_info_t *currentloc = 4000d1d0: 94 10 20 78 mov 0x78, %o2 ! 78 <_TLS_Alignment+0x77> <== NOT EXECUTED 4000d1d4: 92 10 00 18 mov %i0, %o1 4000d1d8: 7f ff e1 e4 call 40005968 4000d1dc: 90 07 bf c8 add %fp, -56, %o0 return loc->mt_entry->ops->clonenod_h == IMFS_node_clone; 4000d1e0: c2 02 20 14 ld [ %o0 + 0x14 ], %g1 4000d1e4: c2 00 60 0c ld [ %g1 + 0xc ], %g1 rtems_filesystem_eval_path_start( &ctx, path, eval_flags ); if ( IMFS_is_imfs_instance( currentloc ) ) { 4000d1e8: c4 00 60 24 ld [ %g1 + 0x24 ], %g2 4000d1ec: 03 10 00 10 sethi %hi(0x40004000), %g1 4000d1f0: 82 10 60 fc or %g1, 0xfc, %g1 ! 400040fc 4000d1f4: 80 a0 80 01 cmp %g2, %g1 4000d1f8: 02 80 00 16 be 4000d250 <== ALWAYS TAKEN 4000d1fc: ba 10 00 08 mov %o0, %i5 IMFS_mtime_ctime_update( parent ); } else { rv = -1; } } else { rtems_filesystem_eval_path_error( &ctx, ENOTSUP ); 4000d200: 92 10 20 86 mov 0x86, %o1 <== NOT EXECUTED 4000d204: 90 07 bf c8 add %fp, -56, %o0 <== NOT EXECUTED 4000d208: 7f ff e1 1d call 4000567c <== NOT EXECUTED 4000d20c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED rv = -1; } rtems_filesystem_eval_path_cleanup( &ctx ); 4000d210: 7f ff e1 e2 call 40005998 <== NOT EXECUTED 4000d214: 90 07 bf c8 add %fp, -56, %o0 <== NOT EXECUTED } return rv; } 4000d218: 81 c7 e0 08 ret <== NOT EXECUTED 4000d21c: 81 e8 00 00 restore <== NOT EXECUTED switch (mode & S_IFMT) { 4000d220: 80 a0 40 02 cmp %g1, %g2 4000d224: 02 bf ff eb be 4000d1d0 <== NEVER TAKEN 4000d228: 05 00 00 08 sethi %hi(0x2000), %g2 4000d22c: 80 a0 40 02 cmp %g1, %g2 4000d230: 02 bf ff e9 be 4000d1d4 <== ALWAYS TAKEN 4000d234: 94 10 20 78 mov 0x78, %o2 errno = EINVAL; 4000d238: 40 00 05 48 call 4000e758 <__errno> <== NOT EXECUTED 4000d23c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 4000d240: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 4000d244: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 4000d248: 81 c7 e0 08 ret <== NOT EXECUTED 4000d24c: 81 e8 00 00 restore <== NOT EXECUTED IMFS_jnode_t *new_node = IMFS_create_node( 4000d250: f6 23 a0 5c st %i3, [ %sp + 0x5c ] 4000d254: 9a 10 00 19 mov %i1, %o5 4000d258: d8 07 bf d4 ld [ %fp + -44 ], %o4 4000d25c: d6 07 bf d0 ld [ %fp + -48 ], %o3 4000d260: 94 10 20 48 mov 0x48, %o2 4000d264: 92 10 00 1a mov %i2, %o1 4000d268: 7f ff ff a0 call 4000d0e8 4000d26c: b0 10 3f ff mov -1, %i0 if ( new_node != NULL ) { 4000d270: 80 a2 20 00 cmp %o0, 0 4000d274: 02 bf ff e7 be 4000d210 <== NEVER TAKEN 4000d278: 01 00 00 00 nop IMFS_jnode_t *parent = currentloc->node_access; 4000d27c: fa 07 60 08 ld [ %i5 + 8 ], %i5 _Timecounter_Getbintime( &now ); 4000d280: 7f ff ec 8b call 400084ac <_Timecounter_Getbintime> 4000d284: 90 07 bf b8 add %fp, -72, %o0 return now.sec; 4000d288: c4 1f bf b8 ldd [ %fp + -72 ], %g2 jnode->stat_mtime = now; 4000d28c: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] int rv = 0; 4000d290: b0 10 20 00 clr %i0 jnode->stat_ctime = now; 4000d294: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] rtems_filesystem_eval_path_cleanup( &ctx ); 4000d298: 7f ff e1 c0 call 40005998 4000d29c: 90 07 bf c8 add %fp, -56, %o0 } 4000d2a0: 81 c7 e0 08 ret 4000d2a4: 81 e8 00 00 restore =============================================================================== 40003cf8 : { 40003cf8: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED if ( last_byte > memfile->File.size ) { 40003cfc: c2 06 20 40 ld [ %i0 + 0x40 ], %g1 <== NOT EXECUTED last_byte = start + my_length; 40003d00: 96 07 00 1a add %i4, %i2, %o3 <== NOT EXECUTED if ( last_byte > memfile->File.size ) { 40003d04: 80 a0 40 0b cmp %g1, %o3 <== NOT EXECUTED 40003d08: 0a 80 00 54 bcs 40003e58 <== NOT EXECUTED 40003d0c: a0 10 00 18 mov %i0, %l0 <== NOT EXECUTED start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK; 40003d10: 23 10 00 4d sethi %hi(0x40013400), %l1 <== NOT EXECUTED 40003d14: e4 04 60 c4 ld [ %l1 + 0xc4 ], %l2 ! 400134c4 <== NOT EXECUTED 40003d18: bb 3c a0 1f sra %l2, 0x1f, %i5 <== NOT EXECUTED 40003d1c: 96 10 00 12 mov %l2, %o3 <== NOT EXECUTED 40003d20: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED 40003d24: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 40003d28: 40 00 2d 82 call 4000f330 <__moddi3> <== NOT EXECUTED 40003d2c: 90 10 00 19 mov %i1, %o0 <== NOT EXECUTED block = start / IMFS_MEMFILE_BYTES_PER_BLOCK; 40003d30: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK; 40003d34: a6 10 00 09 mov %o1, %l3 <== NOT EXECUTED block = start / IMFS_MEMFILE_BYTES_PER_BLOCK; 40003d38: 96 10 00 12 mov %l2, %o3 <== NOT EXECUTED 40003d3c: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 40003d40: 40 00 2c f1 call 4000f104 <__divdi3> <== NOT EXECUTED 40003d44: 90 10 00 19 mov %i1, %o0 <== NOT EXECUTED 40003d48: ba 10 00 12 mov %l2, %i5 <== NOT EXECUTED 40003d4c: b4 10 00 09 mov %o1, %i2 <== NOT EXECUTED if ( start_offset ) { 40003d50: 80 a4 e0 00 cmp %l3, 0 <== NOT EXECUTED 40003d54: 12 80 00 1a bne 40003dbc <== NOT EXECUTED 40003d58: b0 10 20 00 clr %i0 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 40003d5c: 80 a7 00 1d cmp %i4, %i5 <== NOT EXECUTED 40003d60: 1a 80 00 0e bcc 40003d98 <== NOT EXECUTED 40003d64: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED if ( my_length ) { 40003d68: 10 80 00 29 b 40003e0c <== NOT EXECUTED 40003d6c: 80 a7 20 00 cmp %i4, 0 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, to_copy ); 40003d70: 40 00 2a b7 call 4000e84c <== NOT EXECUTED 40003d74: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 40003d78: c2 04 60 c4 ld [ %l1 + 0xc4 ], %g1 <== NOT EXECUTED my_length -= to_copy; 40003d7c: b8 27 00 1d sub %i4, %i5, %i4 <== NOT EXECUTED src += to_copy; 40003d80: b6 06 c0 1d add %i3, %i5, %i3 <== NOT EXECUTED block++; 40003d84: b4 06 a0 01 inc %i2 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 40003d88: 80 a0 40 1c cmp %g1, %i4 <== NOT EXECUTED 40003d8c: 18 80 00 1f bgu 40003e08 <== NOT EXECUTED 40003d90: b0 06 00 1d add %i0, %i5, %i0 <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 40003d94: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 40003d98: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003d9c: 7f ff fd d4 call 400034ec <== NOT EXECUTED 40003da0: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, to_copy ); 40003da4: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED if ( !block_ptr ) 40003da8: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003dac: 12 bf ff f1 bne 40003d70 <== NOT EXECUTED 40003db0: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED } 40003db4: 81 c7 e0 08 ret <== NOT EXECUTED 40003db8: 81 e8 00 00 restore <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 40003dbc: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003dc0: 7f ff fd cb call 400034ec <== NOT EXECUTED 40003dc4: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( !block_ptr ) 40003dc8: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003dcc: 02 bf ff fa be 40003db4 <== NOT EXECUTED 40003dd0: a4 24 80 13 sub %l2, %l3, %l2 <== NOT EXECUTED 40003dd4: 80 a7 00 12 cmp %i4, %l2 <== NOT EXECUTED 40003dd8: 18 80 00 37 bgu 40003eb4 <== NOT EXECUTED 40003ddc: b0 10 00 1c mov %i4, %i0 <== NOT EXECUTED memcpy( &(*block_ptr)[ start_offset ], src, to_copy ); 40003de0: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 40003de4: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 40003de8: 94 10 00 18 mov %i0, %o2 <== NOT EXECUTED 40003dec: 90 02 00 13 add %o0, %l3, %o0 <== NOT EXECUTED 40003df0: 40 00 2a 97 call 4000e84c <== NOT EXECUTED 40003df4: b6 06 c0 18 add %i3, %i0, %i3 <== NOT EXECUTED block++; 40003df8: b4 06 a0 01 inc %i2 <== NOT EXECUTED 40003dfc: fa 04 60 c4 ld [ %l1 + 0xc4 ], %i5 <== NOT EXECUTED my_length -= to_copy; 40003e00: 10 bf ff d7 b 40003d5c <== NOT EXECUTED 40003e04: b8 27 00 18 sub %i4, %i0, %i4 <== NOT EXECUTED if ( my_length ) { 40003e08: 80 a7 20 00 cmp %i4, 0 <== NOT EXECUTED 40003e0c: 02 80 00 0c be 40003e3c <== NOT EXECUTED 40003e10: 94 10 20 00 clr %o2 <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 40003e14: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 40003e18: 7f ff fd b5 call 400034ec <== NOT EXECUTED 40003e1c: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( !block_ptr ) 40003e20: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003e24: 02 bf ff e4 be 40003db4 <== NOT EXECUTED 40003e28: 94 10 00 1c mov %i4, %o2 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, my_length ); 40003e2c: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 40003e30: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 40003e34: 40 00 2a 86 call 4000e84c <== NOT EXECUTED 40003e38: b0 06 00 1c add %i0, %i4, %i0 <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40003e3c: 40 00 11 9c call 400084ac <_Timecounter_Getbintime> <== NOT EXECUTED 40003e40: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED return now.sec; 40003e44: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_mtime = now; 40003e48: c4 3c 20 28 std %g2, [ %l0 + 0x28 ] <== NOT EXECUTED jnode->stat_ctime = now; 40003e4c: c4 3c 20 30 std %g2, [ %l0 + 0x30 ] <== NOT EXECUTED } 40003e50: 81 c7 e0 08 ret <== NOT EXECUTED 40003e54: 81 e8 00 00 restore <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 40003e58: 80 a6 60 00 cmp %i1, 0 <== NOT EXECUTED 40003e5c: 04 80 00 0b ble 40003e88 <== NOT EXECUTED 40003e60: 92 10 20 01 mov 1, %o1 <== NOT EXECUTED status = IMFS_memfile_extend( memfile, zero_fill, last_byte ); 40003e64: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003e68: 92 0a 60 01 and %o1, 1, %o1 <== NOT EXECUTED 40003e6c: 7f ff fe 49 call 40003790 <== NOT EXECUTED 40003e70: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( status ) 40003e74: b0 92 20 00 orcc %o0, 0, %i0 <== NOT EXECUTED 40003e78: 02 bf ff a7 be 40003d14 <== NOT EXECUTED 40003e7c: 23 10 00 4d sethi %hi(0x40013400), %l1 <== NOT EXECUTED 40003e80: 81 c7 e0 08 ret <== NOT EXECUTED 40003e84: 81 e8 00 00 restore <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 40003e88: 02 80 00 16 be 40003ee0 <== NOT EXECUTED 40003e8c: 80 a6 80 01 cmp %i2, %g1 <== NOT EXECUTED 40003e90: 92 10 20 00 clr %o1 <== NOT EXECUTED status = IMFS_memfile_extend( memfile, zero_fill, last_byte ); 40003e94: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003e98: 92 0a 60 01 and %o1, 1, %o1 <== NOT EXECUTED 40003e9c: 7f ff fe 3d call 40003790 <== NOT EXECUTED 40003ea0: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( status ) 40003ea4: b0 92 20 00 orcc %o0, 0, %i0 <== NOT EXECUTED 40003ea8: 02 bf ff 9b be 40003d14 <== NOT EXECUTED 40003eac: 23 10 00 4d sethi %hi(0x40013400), %l1 <== NOT EXECUTED 40003eb0: 30 bf ff f4 b,a 40003e80 <== NOT EXECUTED memcpy( &(*block_ptr)[ start_offset ], src, to_copy ); 40003eb4: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 40003eb8: b0 10 00 12 mov %l2, %i0 <== NOT EXECUTED 40003ebc: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 40003ec0: 94 10 00 18 mov %i0, %o2 <== NOT EXECUTED 40003ec4: 90 02 00 13 add %o0, %l3, %o0 <== NOT EXECUTED 40003ec8: 40 00 2a 61 call 4000e84c <== NOT EXECUTED 40003ecc: b6 06 c0 18 add %i3, %i0, %i3 <== NOT EXECUTED block++; 40003ed0: b4 06 a0 01 inc %i2 <== NOT EXECUTED 40003ed4: fa 04 60 c4 ld [ %l1 + 0xc4 ], %i5 <== NOT EXECUTED my_length -= to_copy; 40003ed8: 10 bf ff a1 b 40003d5c <== NOT EXECUTED 40003edc: b8 27 00 18 sub %i4, %i0, %i4 <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 40003ee0: 18 bf ff e2 bgu 40003e68 <== NOT EXECUTED 40003ee4: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003ee8: 10 bf ff ec b 40003e98 <== NOT EXECUTED 40003eec: 92 10 20 00 clr %o1 <== NOT EXECUTED =============================================================================== 40003f54 : const char *name, size_t namelen, mode_t mode, dev_t dev ) { 40003f54: 9d e3 bf 80 save %sp, -128, %sp int rv = 0; const IMFS_fs_info_t *fs_info = parentloc->mt_entry->fs_info; 40003f58: c2 06 20 14 ld [ %i0 + 0x14 ], %g1 { 40003f5c: f8 3f bf e8 std %i4, [ %fp + -24 ] const IMFS_mknod_control *mknod_control = get_control( fs_info->mknod_controls, mode ); 40003f60: c4 00 60 08 ld [ %g1 + 8 ], %g2 40003f64: c6 00 a0 50 ld [ %g2 + 0x50 ], %g3 if ( S_ISDIR( mode ) ) { 40003f68: 03 00 00 3c sethi %hi(0xf000), %g1 40003f6c: 05 00 00 10 sethi %hi(0x4000), %g2 40003f70: 82 0e c0 01 and %i3, %g1, %g1 40003f74: 80 a0 40 02 cmp %g1, %g2 40003f78: 02 80 00 1f be 40003ff4 <== ALWAYS TAKEN 40003f7c: 05 00 00 2c sethi %hi(0xb000), %g2 } else if ( S_ISBLK( mode ) || S_ISCHR( mode ) ) { 40003f80: 09 00 00 08 sethi %hi(0x2000), %g4 <== NOT EXECUTED 40003f84: 84 0e c0 02 and %i3, %g2, %g2 <== NOT EXECUTED 40003f88: 80 a0 80 04 cmp %g2, %g4 <== NOT EXECUTED 40003f8c: 22 80 00 07 be,a 40003fa8 <== NOT EXECUTED 40003f90: d2 00 e0 04 ld [ %g3 + 4 ], %o1 <== NOT EXECUTED } else if ( S_ISFIFO( mode ) ) { 40003f94: 05 00 00 04 sethi %hi(0x1000), %g2 <== NOT EXECUTED 40003f98: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 40003f9c: 22 80 00 03 be,a 40003fa8 <== NOT EXECUTED 40003fa0: d2 00 e0 0c ld [ %g3 + 0xc ], %o1 <== NOT EXECUTED return controls->file; 40003fa4: d2 00 e0 08 ld [ %g3 + 8 ], %o1 <== NOT EXECUTED IMFS_jnode_t *new_node; new_node = IMFS_create_node( 40003fa8: 82 07 bf e8 add %fp, -24, %g1 40003fac: c2 23 a0 5c st %g1, [ %sp + 0x5c ] 40003fb0: 9a 10 00 1b mov %i3, %o5 40003fb4: d4 02 60 10 ld [ %o1 + 0x10 ], %o2 40003fb8: 98 10 00 1a mov %i2, %o4 40003fbc: 96 10 00 19 mov %i1, %o3 40003fc0: 40 00 24 4a call 4000d0e8 40003fc4: 90 10 00 18 mov %i0, %o0 name, namelen, mode, &dev ); if ( new_node != NULL ) { 40003fc8: 80 a2 20 00 cmp %o0, 0 40003fcc: 02 80 00 0c be 40003ffc <== NEVER TAKEN 40003fd0: 01 00 00 00 nop IMFS_jnode_t *parent = parentloc->node_access; 40003fd4: fa 06 20 08 ld [ %i0 + 8 ], %i5 _Timecounter_Getbintime( &now ); 40003fd8: 40 00 11 35 call 400084ac <_Timecounter_Getbintime> 40003fdc: 90 07 bf f0 add %fp, -16, %o0 return now.sec; 40003fe0: c4 1f bf f0 ldd [ %fp + -16 ], %g2 jnode->stat_mtime = now; 40003fe4: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] jnode->stat_ctime = now; 40003fe8: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] int rv = 0; 40003fec: 81 c7 e0 08 ret 40003ff0: 91 e8 20 00 restore %g0, 0, %o0 return controls->directory; 40003ff4: 10 bf ff ed b 40003fa8 40003ff8: d2 00 c0 00 ld [ %g3 ], %o1 } else { rv = -1; } return rv; } 40003ffc: 81 c7 e0 08 ret <== NOT EXECUTED 40004000: 91 e8 3f ff restore %g0, -1, %o0 <== NOT EXECUTED =============================================================================== 40010200 : 40010200: 40 01 02 14 40 00 32 24 40 00 41 6c 40 00 41 74 @...@.2$@.Al@.At 40010210: 00 00 00 48 ...H =============================================================================== 400101a4 : 400101a4: 40 01 01 b8 40 00 2f 70 40 00 2f 88 40 00 41 74 @...@./p@./.@.At 400101b4: 00 00 00 50 ...P =============================================================================== 40010254 : 40010254: 40 01 09 cc 40 00 32 58 40 00 41 6c 40 00 41 74 @...@.2X@.Al@.At 40010264: 00 00 00 40 ...@ =============================================================================== 400102b8 : 400102b8: 40 01 02 cc 40 00 33 28 40 00 41 6c 40 00 3b 94 @...@.3(@.Al@.;. 400102c8: 00 00 00 58 ...X =============================================================================== 40004004 : #endif #include int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry ) { 40004004: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED int rv = 0; IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 40004008: c2 06 20 20 ld [ %i0 + 0x20 ], %g1 <== NOT EXECUTED 4000400c: c4 00 60 08 ld [ %g1 + 8 ], %g2 <== NOT EXECUTED return S_ISDIR( node->st_mode ); 40004010: 07 00 00 3c sethi %hi(0xf000), %g3 <== NOT EXECUTED 40004014: c2 00 a0 14 ld [ %g2 + 0x14 ], %g1 <== NOT EXECUTED 40004018: 82 08 40 03 and %g1, %g3, %g1 <== NOT EXECUTED if ( IMFS_is_directory( node ) ) { 4000401c: 07 00 00 10 sethi %hi(0x4000), %g3 <== NOT EXECUTED 40004020: 80 a0 40 03 cmp %g1, %g3 <== NOT EXECUTED 40004024: 12 80 00 0f bne 40004060 <== NOT EXECUTED 40004028: 01 00 00 00 nop <== NOT EXECUTED IMFS_directory_t *dir = (IMFS_directory_t *) node; if ( dir->mt_fs == NULL ) { 4000402c: c2 00 a0 4c ld [ %g2 + 0x4c ], %g1 <== NOT EXECUTED 40004030: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 40004034: 12 80 00 05 bne 40004048 <== NOT EXECUTED 40004038: 01 00 00 00 nop <== NOT EXECUTED dir->mt_fs = mt_entry; 4000403c: f0 20 a0 4c st %i0, [ %g2 + 0x4c ] <== NOT EXECUTED 40004040: 81 c7 e0 08 ret <== NOT EXECUTED 40004044: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED } else { errno = EBUSY; 40004048: 40 00 29 c4 call 4000e758 <__errno> <== NOT EXECUTED 4000404c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004050: 82 10 20 10 mov 0x10, %g1 <== NOT EXECUTED 40004054: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40004058: 81 c7 e0 08 ret <== NOT EXECUTED 4000405c: 81 e8 00 00 restore <== NOT EXECUTED rv = -1; } } else { errno = ENOTDIR; 40004060: 40 00 29 be call 4000e758 <__errno> <== NOT EXECUTED 40004064: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004068: 82 10 20 14 mov 0x14, %g1 <== NOT EXECUTED 4000406c: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED rv = -1; } return rv; } 40004070: 81 c7 e0 08 ret <== NOT EXECUTED 40004074: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40004114 : void IMFS_node_destroy( IMFS_jnode_t *node ) { 40004114: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED IMFS_assert( node->reference_count == 0 ); (*node->control->node_destroy)( node ); 40004118: c2 06 20 38 ld [ %i0 + 0x38 ], %g1 <== NOT EXECUTED 4000411c: c2 00 60 0c ld [ %g1 + 0xc ], %g1 <== NOT EXECUTED 40004120: 9f c0 40 00 call %g1 <== NOT EXECUTED 40004124: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED } 40004128: 81 c7 e0 08 ret <== NOT EXECUTED 4000412c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40004174 : void IMFS_node_destroy_default( IMFS_jnode_t *node ) { 40004174: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED if ( ( node->flags & IMFS_NODE_FLAG_NAME_ALLOCATED ) != 0 ) { 40004178: c2 16 20 12 lduh [ %i0 + 0x12 ], %g1 <== NOT EXECUTED 4000417c: 80 88 60 01 btst 1, %g1 <== NOT EXECUTED 40004180: 12 80 00 04 bne 40004190 <== NOT EXECUTED 40004184: 01 00 00 00 nop <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); } free( node ); 40004188: 40 00 01 3c call 40004678 <== NOT EXECUTED 4000418c: 81 e8 00 00 restore <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); 40004190: 40 00 01 3a call 40004678 <== NOT EXECUTED 40004194: d0 06 20 0c ld [ %i0 + 0xc ], %o0 <== NOT EXECUTED free( node ); 40004198: 40 00 01 38 call 40004678 <== NOT EXECUTED 4000419c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40004130 : void IMFS_node_free( const rtems_filesystem_location_info_t *loc ) { 40004130: 9d e3 bf a0 save %sp, -96, %sp IMFS_jnode_t *node = loc->node_access; 40004134: d0 06 20 08 ld [ %i0 + 8 ], %o0 --node->reference_count; 40004138: c2 12 20 18 lduh [ %o0 + 0x18 ], %g1 4000413c: 82 00 7f ff add %g1, -1, %g1 40004140: c2 32 20 18 sth %g1, [ %o0 + 0x18 ] if ( node->reference_count == 0 ) { 40004144: 83 28 60 10 sll %g1, 0x10, %g1 40004148: 80 a0 60 00 cmp %g1, 0 4000414c: 12 80 00 06 bne 40004164 <== ALWAYS TAKEN 40004150: 01 00 00 00 nop (*node->control->node_destroy)( node ); 40004154: c2 02 20 38 ld [ %o0 + 0x38 ], %g1 <== NOT EXECUTED 40004158: c2 00 60 0c ld [ %g1 + 0xc ], %g1 <== NOT EXECUTED 4000415c: 9f c0 40 00 call %g1 <== NOT EXECUTED 40004160: 01 00 00 00 nop <== NOT EXECUTED IMFS_node_destroy( node ); } } 40004164: 81 c7 e0 08 ret 40004168: 81 e8 00 00 restore =============================================================================== 4000416c : IMFS_jnode_t *IMFS_node_remove_default( IMFS_jnode_t *node ) { return node; } 4000416c: 81 c3 e0 08 retl <== NOT EXECUTED 40004170: 01 00 00 00 nop <== NOT EXECUTED =============================================================================== 40002f88 : { return dir->mt_fs != NULL; } IMFS_jnode_t *IMFS_node_remove_directory( IMFS_jnode_t *node ) { 40002f88: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED IMFS_directory_t *dir = (IMFS_directory_t *) node; if ( !rtems_chain_is_empty( &dir->Entries ) ) { 40002f8c: c4 06 20 40 ld [ %i0 + 0x40 ], %g2 <== NOT EXECUTED return &the_chain->Tail.Node; 40002f90: 82 06 20 44 add %i0, 0x44, %g1 <== NOT EXECUTED 40002f94: 80 a0 80 01 cmp %g2, %g1 <== NOT EXECUTED 40002f98: 12 80 00 0c bne 40002fc8 <== NOT EXECUTED 40002f9c: 01 00 00 00 nop <== NOT EXECUTED errno = ENOTEMPTY; dir = NULL; } else if ( IMFS_is_mount_point( dir ) ) { 40002fa0: c2 06 20 4c ld [ %i0 + 0x4c ], %g1 <== NOT EXECUTED 40002fa4: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 40002fa8: 02 80 00 0c be 40002fd8 <== NOT EXECUTED 40002fac: 01 00 00 00 nop <== NOT EXECUTED errno = EBUSY; 40002fb0: 40 00 2d ea call 4000e758 <__errno> <== NOT EXECUTED 40002fb4: b0 10 20 00 clr %i0 ! 0 <== NOT EXECUTED 40002fb8: 82 10 20 10 mov 0x10, %g1 <== NOT EXECUTED 40002fbc: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED dir = NULL; } return &dir->Node; } 40002fc0: 81 c7 e0 08 ret <== NOT EXECUTED 40002fc4: 81 e8 00 00 restore <== NOT EXECUTED errno = ENOTEMPTY; 40002fc8: 40 00 2d e4 call 4000e758 <__errno> <== NOT EXECUTED 40002fcc: b0 10 20 00 clr %i0 <== NOT EXECUTED 40002fd0: 82 10 20 5a mov 0x5a, %g1 <== NOT EXECUTED 40002fd4: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40002fd8: 81 c7 e0 08 ret <== NOT EXECUTED 40002fdc: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000443c : for( i=0; ((iname[i] != '\0')); i++ ) 4000443c: 80 a2 a0 00 cmp %o2, 0 <== NOT EXECUTED 40004440: 02 80 00 16 be 40004498 <== NOT EXECUTED 40004444: c6 02 20 08 ld [ %o0 + 8 ], %g3 <== NOT EXECUTED 40004448: c2 00 e0 40 ld [ %g3 + 0x40 ], %g1 <== NOT EXECUTED 4000444c: c4 48 40 00 ldsb [ %g1 ], %g2 <== NOT EXECUTED 40004450: 90 10 20 00 clr %o0 <== NOT EXECUTED 40004454: 80 a0 a0 00 cmp %g2, 0 <== NOT EXECUTED 40004458: 12 80 00 07 bne 40004474 <== NOT EXECUTED 4000445c: c2 08 40 00 ldub [ %g1 ], %g1 <== NOT EXECUTED 40004460: 30 80 00 0c b,a 40004490 <== NOT EXECUTED 40004464: c4 48 40 08 ldsb [ %g1 + %o0 ], %g2 <== NOT EXECUTED 40004468: 80 a0 a0 00 cmp %g2, 0 <== NOT EXECUTED 4000446c: 02 80 00 07 be 40004488 <== NOT EXECUTED 40004470: c2 08 40 08 ldub [ %g1 + %o0 ], %g1 <== NOT EXECUTED buf[i] = sym_link->name[i]; 40004474: c2 2a 40 08 stb %g1, [ %o1 + %o0 ] <== NOT EXECUTED for( i=0; ((iname[i] != '\0')); i++ ) 40004478: 90 02 20 01 inc %o0 <== NOT EXECUTED 4000447c: 80 a2 80 08 cmp %o2, %o0 <== NOT EXECUTED 40004480: 32 bf ff f9 bne,a 40004464 <== NOT EXECUTED 40004484: c2 00 e0 40 ld [ %g3 + 0x40 ], %g1 <== NOT EXECUTED } 40004488: 81 c3 e0 08 retl <== NOT EXECUTED 4000448c: 01 00 00 00 nop <== NOT EXECUTED 40004490: 81 c3 e0 08 retl <== NOT EXECUTED 40004494: 01 00 00 00 nop <== NOT EXECUTED for( i=0; ((iname[i] != '\0')); i++ ) 40004498: 81 c3 e0 08 retl <== NOT EXECUTED 4000449c: 90 10 20 00 clr %o0 ! 0 <== NOT EXECUTED =============================================================================== 400041a0 : const rtems_filesystem_location_info_t *oldloc, const rtems_filesystem_location_info_t *newparentloc, const char *name, size_t namelen ) { 400041a0: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *node = oldloc->node_access; 400041a4: fa 06 60 08 ld [ %i1 + 8 ], %i5 <== NOT EXECUTED /* * FIXME: Due to insufficient checks we can create inaccessible nodes with * this operation. */ if ( node->Parent == NULL ) { 400041a8: c2 07 60 08 ld [ %i5 + 8 ], %g1 <== NOT EXECUTED 400041ac: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 400041b0: 02 80 00 36 be 40004288 <== NOT EXECUTED 400041b4: f4 06 a0 08 ld [ %i2 + 8 ], %i2 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EINVAL ); } if ( namelen >= IMFS_NAME_MAX ) { 400041b8: 80 a7 20 fe cmp %i4, 0xfe <== NOT EXECUTED 400041bc: 18 80 00 27 bgu 40004258 <== NOT EXECUTED 400041c0: 01 00 00 00 nop <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENAMETOOLONG ); } allocated_name = malloc( namelen ); 400041c4: 40 00 02 3c call 40004ab4 <== NOT EXECUTED 400041c8: 90 10 00 1c mov %i4, %o0 <== NOT EXECUTED if ( allocated_name == NULL ) { 400041cc: b2 92 20 00 orcc %o0, 0, %i1 <== NOT EXECUTED 400041d0: 02 80 00 28 be 40004270 <== NOT EXECUTED 400041d4: 94 10 00 1c mov %i4, %o2 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); } memcpy( allocated_name, name, namelen ); 400041d8: 40 00 29 9d call 4000e84c <== NOT EXECUTED 400041dc: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED if ( ( node->flags & IMFS_NODE_FLAG_NAME_ALLOCATED ) != 0 ) { 400041e0: c2 17 60 12 lduh [ %i5 + 0x12 ], %g1 <== NOT EXECUTED 400041e4: 80 88 60 01 btst 1, %g1 <== NOT EXECUTED 400041e8: 12 80 00 18 bne 40004248 <== NOT EXECUTED 400041ec: 01 00 00 00 nop <== NOT EXECUTED ) { Chain_Node *next; Chain_Node *previous; next = the_node->next; 400041f0: c6 07 40 00 ld [ %i5 ], %g3 <== NOT EXECUTED previous = the_node->previous; 400041f4: c4 07 60 04 ld [ %i5 + 4 ], %g2 <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); } node->name = allocated_name; 400041f8: f2 27 60 0c st %i1, [ %i5 + 0xc ] <== NOT EXECUTED node->namelen = namelen; node->flags |= IMFS_NODE_FLAG_NAME_ALLOCATED; 400041fc: 82 10 60 01 or %g1, 1, %g1 <== NOT EXECUTED node->namelen = namelen; 40004200: f8 37 60 10 sth %i4, [ %i5 + 0x10 ] <== NOT EXECUTED return &the_chain->Tail.Node; 40004204: 88 06 a0 44 add %i2, 0x44, %g4 <== NOT EXECUTED node->flags |= IMFS_NODE_FLAG_NAME_ALLOCATED; 40004208: c2 37 60 12 sth %g1, [ %i5 + 0x12 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 4000420c: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED next->previous = previous; 40004210: c4 20 e0 04 st %g2, [ %g3 + 4 ] <== NOT EXECUTED IMFS_remove_from_directory( node ); IMFS_add_to_directory( new_parent, node ); IMFS_update_ctime( node ); return 0; 40004214: b0 10 20 00 clr %i0 <== NOT EXECUTED previous->next = next; 40004218: c6 20 80 00 st %g3, [ %g2 ] <== NOT EXECUTED Chain_Node *old_last; _Assert( _Chain_Is_node_off_chain( the_node ) ); tail = _Chain_Tail( the_chain ); old_last = tail->previous; 4000421c: c2 06 a0 48 ld [ %i2 + 0x48 ], %g1 <== NOT EXECUTED entry_node->Parent = dir_node; 40004220: f4 27 60 08 st %i2, [ %i5 + 8 ] <== NOT EXECUTED the_node->next = tail; 40004224: c8 27 40 00 st %g4, [ %i5 ] <== NOT EXECUTED tail->previous = the_node; 40004228: fa 26 a0 48 st %i5, [ %i2 + 0x48 ] <== NOT EXECUTED old_last->next = the_node; 4000422c: fa 20 40 00 st %i5, [ %g1 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40004230: 40 00 10 9f call 400084ac <_Timecounter_Getbintime> <== NOT EXECUTED 40004234: c2 27 60 04 st %g1, [ %i5 + 4 ] <== NOT EXECUTED return now.sec; 40004238: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 4000423c: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED } 40004240: 81 c7 e0 08 ret <== NOT EXECUTED 40004244: 81 e8 00 00 restore <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); 40004248: 40 00 01 0c call 40004678 <== NOT EXECUTED 4000424c: d0 07 60 0c ld [ %i5 + 0xc ], %o0 <== NOT EXECUTED 40004250: 10 bf ff e8 b 400041f0 <== NOT EXECUTED 40004254: c2 17 60 12 lduh [ %i5 + 0x12 ], %g1 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENAMETOOLONG ); 40004258: 40 00 29 40 call 4000e758 <__errno> <== NOT EXECUTED 4000425c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004260: 82 10 20 5b mov 0x5b, %g1 <== NOT EXECUTED 40004264: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40004268: 81 c7 e0 08 ret <== NOT EXECUTED 4000426c: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 40004270: 40 00 29 3a call 4000e758 <__errno> <== NOT EXECUTED 40004274: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004278: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 4000427c: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40004280: 81 c7 e0 08 ret <== NOT EXECUTED 40004284: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EINVAL ); 40004288: 40 00 29 34 call 4000e758 <__errno> <== NOT EXECUTED 4000428c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004290: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 40004294: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40004298: 81 c7 e0 08 ret <== NOT EXECUTED 4000429c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 400042a0 : int IMFS_rmnod( const rtems_filesystem_location_info_t *parentloc, const rtems_filesystem_location_info_t *loc ) { 400042a0: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED int rv = 0; IMFS_jnode_t *node = loc->node_access; 400042a4: d0 06 60 08 ld [ %i1 + 8 ], %o0 <== NOT EXECUTED node = (*node->control->node_remove)( node ); 400042a8: c2 02 20 38 ld [ %o0 + 0x38 ], %g1 <== NOT EXECUTED 400042ac: c2 00 60 08 ld [ %g1 + 8 ], %g1 <== NOT EXECUTED 400042b0: 9f c0 40 00 call %g1 <== NOT EXECUTED 400042b4: 01 00 00 00 nop <== NOT EXECUTED if ( node != NULL ) { 400042b8: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 400042bc: 22 80 00 11 be,a 40004300 <== NOT EXECUTED 400042c0: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED --node->reference_count; 400042c4: c4 12 20 18 lduh [ %o0 + 0x18 ], %g2 <== NOT EXECUTED --node->st_nlink; 400042c8: c2 12 20 1a lduh [ %o0 + 0x1a ], %g1 <== NOT EXECUTED 400042cc: 82 00 7f ff add %g1, -1, %g1 <== NOT EXECUTED --node->reference_count; 400042d0: 84 00 bf ff add %g2, -1, %g2 <== NOT EXECUTED --node->st_nlink; 400042d4: c2 32 20 1a sth %g1, [ %o0 + 0x1a ] <== NOT EXECUTED --node->reference_count; 400042d8: c4 32 20 18 sth %g2, [ %o0 + 0x18 ] <== NOT EXECUTED if ( node->Parent != NULL ) { 400042dc: c2 02 20 08 ld [ %o0 + 8 ], %g1 <== NOT EXECUTED 400042e0: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 400042e4: 02 80 00 07 be 40004300 <== NOT EXECUTED 400042e8: b0 10 20 00 clr %i0 <== NOT EXECUTED node->Parent = NULL; 400042ec: c0 22 20 08 clr [ %o0 + 8 ] <== NOT EXECUTED next = the_node->next; 400042f0: c4 02 00 00 ld [ %o0 ], %g2 <== NOT EXECUTED previous = the_node->previous; 400042f4: c2 02 20 04 ld [ %o0 + 4 ], %g1 <== NOT EXECUTED next->previous = previous; 400042f8: c2 20 a0 04 st %g1, [ %g2 + 4 ] <== NOT EXECUTED previous->next = next; 400042fc: c4 20 40 00 st %g2, [ %g1 ] <== NOT EXECUTED 40004300: 81 c7 e0 08 ret <== NOT EXECUTED 40004304: 81 e8 00 00 restore <== NOT EXECUTED } else { rv = -1; } return rv; } 40004308: 81 c7 e0 08 ret <== NOT EXECUTED 4000430c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40004310 : struct stat *buf ) { const IMFS_file_t *file = loc->node_access; buf->st_size = file->File.size; 40004310: c2 02 20 08 ld [ %o0 + 8 ], %g1 <== NOT EXECUTED 40004314: c6 00 60 40 ld [ %g1 + 0x40 ], %g3 <== NOT EXECUTED buf->st_blksize = imfs_memfile_bytes_per_block; 40004318: 03 10 00 4d sethi %hi(0x40013400), %g1 <== NOT EXECUTED 4000431c: c4 00 60 c4 ld [ %g1 + 0xc4 ], %g2 ! 400134c4 <== NOT EXECUTED buf->st_size = file->File.size; 40004320: c0 22 60 20 clr [ %o1 + 0x20 ] <== NOT EXECUTED 40004324: c6 22 60 24 st %g3, [ %o1 + 0x24 ] <== NOT EXECUTED buf->st_blksize = imfs_memfile_bytes_per_block; 40004328: c4 22 60 58 st %g2, [ %o1 + 0x58 ] <== NOT EXECUTED return IMFS_stat( loc, buf ); 4000432c: 82 13 c0 00 mov %o7, %g1 <== NOT EXECUTED 40004330: 40 00 00 02 call 40004338 <== NOT EXECUTED 40004334: 9e 10 40 00 mov %g1, %o7 <== NOT EXECUTED =============================================================================== 400043d8 : { 400043d8: 9d e3 bf 98 save %sp, -104, %sp <== NOT EXECUTED sizeof( IMFS_sym_link_t ) + strlen( target ) + 1, 400043dc: 40 00 2a 3e call 4000ecd4 <== NOT EXECUTED 400043e0: 90 10 00 1b mov %i3, %o0 <== NOT EXECUTED new_node = IMFS_create_node( 400043e4: f6 23 a0 5c st %i3, [ %sp + 0x5c ] <== NOT EXECUTED 400043e8: 94 02 20 49 add %o0, 0x49, %o2 <== NOT EXECUTED 400043ec: 98 10 00 1a mov %i2, %o4 <== NOT EXECUTED 400043f0: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED 400043f4: 1b 00 00 28 sethi %hi(0xa000), %o5 <== NOT EXECUTED 400043f8: 96 10 00 19 mov %i1, %o3 <== NOT EXECUTED 400043fc: 9a 13 61 ff or %o5, 0x1ff, %o5 <== NOT EXECUTED 40004400: 13 10 00 40 sethi %hi(0x40010000), %o1 <== NOT EXECUTED return 0; 40004404: b0 10 20 00 clr %i0 <== NOT EXECUTED new_node = IMFS_create_node( 40004408: 40 00 23 38 call 4000d0e8 <== NOT EXECUTED 4000440c: 92 12 63 4c or %o1, 0x34c, %o1 <== NOT EXECUTED if ( new_node == NULL ) { 40004410: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40004414: 02 80 00 04 be 40004424 <== NOT EXECUTED 40004418: 01 00 00 00 nop <== NOT EXECUTED } 4000441c: 81 c7 e0 08 ret <== NOT EXECUTED 40004420: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 40004424: 40 00 28 cd call 4000e758 <__errno> <== NOT EXECUTED 40004428: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 4000442c: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 40004430: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED } 40004434: 81 c7 e0 08 ret <== NOT EXECUTED 40004438: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 400044a0 : #endif #include int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry ) { 400044a0: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED int rv = 0; IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 400044a4: c2 06 20 20 ld [ %i0 + 0x20 ], %g1 <== NOT EXECUTED 400044a8: c4 00 60 08 ld [ %g1 + 8 ], %g2 <== NOT EXECUTED return S_ISDIR( node->st_mode ); 400044ac: 07 00 00 3c sethi %hi(0xf000), %g3 <== NOT EXECUTED 400044b0: c2 00 a0 14 ld [ %g2 + 0x14 ], %g1 <== NOT EXECUTED 400044b4: 82 08 40 03 and %g1, %g3, %g1 <== NOT EXECUTED if ( IMFS_is_directory( node ) ) { 400044b8: 07 00 00 10 sethi %hi(0x4000), %g3 <== NOT EXECUTED 400044bc: 80 a0 40 03 cmp %g1, %g3 <== NOT EXECUTED 400044c0: 12 80 00 0f bne 400044fc <== NOT EXECUTED 400044c4: 01 00 00 00 nop <== NOT EXECUTED IMFS_directory_t *dir = (IMFS_directory_t *) node; if ( dir->mt_fs == mt_entry ) { 400044c8: c2 00 a0 4c ld [ %g2 + 0x4c ], %g1 <== NOT EXECUTED 400044cc: 80 a0 40 18 cmp %g1, %i0 <== NOT EXECUTED 400044d0: 12 80 00 05 bne 400044e4 <== NOT EXECUTED 400044d4: 01 00 00 00 nop <== NOT EXECUTED dir->mt_fs = NULL; 400044d8: c0 20 a0 4c clr [ %g2 + 0x4c ] <== NOT EXECUTED 400044dc: 81 c7 e0 08 ret <== NOT EXECUTED 400044e0: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED } else { errno = EINVAL; 400044e4: 40 00 28 9d call 4000e758 <__errno> <== NOT EXECUTED 400044e8: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 400044ec: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 400044f0: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 400044f4: 81 c7 e0 08 ret <== NOT EXECUTED 400044f8: 81 e8 00 00 restore <== NOT EXECUTED rv = -1; } } else { errno = ENOTDIR; 400044fc: 40 00 28 97 call 4000e758 <__errno> <== NOT EXECUTED 40004500: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40004504: 82 10 20 14 mov 0x14, %g1 <== NOT EXECUTED 40004508: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED rv = -1; } return rv; } 4000450c: 81 c7 e0 08 ret <== NOT EXECUTED 40004510: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40004514 : int IMFS_utime( const rtems_filesystem_location_info_t *loc, time_t actime, time_t modtime ) { 40004514: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED IMFS_jnode_t *the_jnode; the_jnode = (IMFS_jnode_t *) loc->node_access; 40004518: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED { 4000451c: 84 10 00 1b mov %i3, %g2 <== NOT EXECUTED 40004520: b0 10 00 19 mov %i1, %i0 <== NOT EXECUTED 40004524: 86 10 00 1c mov %i4, %g3 <== NOT EXECUTED 40004528: b2 10 00 1a mov %i2, %i1 <== NOT EXECUTED the_jnode->stat_atime = actime; the_jnode->stat_mtime = modtime; 4000452c: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] <== NOT EXECUTED the_jnode->stat_ctime = time( NULL ); 40004530: 90 10 20 00 clr %o0 <== NOT EXECUTED the_jnode->stat_atime = actime; 40004534: f0 3f 60 20 std %i0, [ %i5 + 0x20 ] <== NOT EXECUTED the_jnode->stat_ctime = time( NULL ); 40004538: 40 00 2a 17 call 4000ed94