=============================================================================== 4000f9c0 : 4000f9c0: 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 ff ................ 4000f9d0: 00 00 00 ff 00 00 00 02 00 00 00 01 00 00 00 02 ................ 4000f9e0: 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 ................ 4000f9f0: 4e 4f 4e 42 4c 4f 43 4b 00 00 00 00 00 00 00 00 NONBLOCK........ 4000fa00: 41 50 50 45 4e 44 00 00 52 45 41 44 00 00 00 00 APPEND..READ.... 4000fa10: 57 52 49 54 45 00 00 00 52 45 41 44 2f 57 52 49 WRITE...READ/WRI 4000fa20: 54 45 00 00 TE.. =============================================================================== 40002674 : int IMFS_chown( const rtems_filesystem_location_info_t *loc, uid_t owner, gid_t group ) { 40002674: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *jnode; jnode = (IMFS_jnode_t *) loc->node_access; 40002678: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED jnode->st_uid = owner; 4000267c: 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 ); 40002680: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED jnode->st_gid = group; 40002684: f4 37 60 1e sth %i2, [ %i5 + 0x1e ] <== NOT EXECUTED 40002688: 40 00 14 25 call 4000771c <_Timecounter_Getbintime> <== NOT EXECUTED 4000268c: b0 10 20 00 clr %i0 <== NOT EXECUTED return now.sec; 40002690: 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(); 40002694: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED IMFS_update_ctime( jnode ); return 0; } 40002698: 81 c7 e0 08 ret <== NOT EXECUTED 4000269c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000b8cc : const char *name, size_t namelen, mode_t mode, void *arg ) { 4000b8cc: 9d e3 bf a0 save %sp, -96, %sp IMFS_jnode_t *allocated_node; IMFS_jnode_t *node; allocated_node = calloc( 1, node_size + namelen ); 4000b8d0: 90 10 20 01 mov 1, %o0 4000b8d4: 7f ff e1 57 call 40003e30 4000b8d8: 92 06 80 1c add %i2, %i4, %o1 if ( allocated_node == NULL ) { 4000b8dc: a0 92 20 00 orcc %o0, 0, %l0 4000b8e0: 02 80 00 1c be 4000b950 <== NEVER TAKEN 4000b8e4: da 07 a0 5c ld [ %fp + 0x5c ], %o5 errno = ENOMEM; return NULL; } node = IMFS_initialize_node( 4000b8e8: 98 10 00 1d mov %i5, %o4 4000b8ec: 96 10 00 1c mov %i4, %o3 4000b8f0: 94 04 00 1a add %l0, %i2, %o2 4000b8f4: 7f ff e0 1a call 4000395c 4000b8f8: 92 10 00 19 mov %i1, %o1 (char *) allocated_node + node_size, namelen, mode, arg ); if ( node != NULL ) { 4000b8fc: ba 92 20 00 orcc %o0, 0, %i5 4000b900: 02 80 00 0f be 4000b93c <== NEVER TAKEN 4000b904: 94 10 00 1c mov %i4, %o2 IMFS_jnode_t *parent = parentloc->node_access; memcpy( RTEMS_DECONST( char *, node->name ), name, namelen ); 4000b908: d0 07 60 0c ld [ %i5 + 0xc ], %o0 IMFS_jnode_t *parent = parentloc->node_access; 4000b90c: f4 06 20 08 ld [ %i0 + 8 ], %i2 memcpy( RTEMS_DECONST( char *, node->name ), name, namelen ); 4000b910: 40 00 09 3e call 4000de08 4000b914: 92 10 00 1b mov %i3, %o1 old_last = tail->previous; 4000b918: c2 06 a0 48 ld [ %i2 + 0x48 ], %g1 return &the_chain->Tail.Node; 4000b91c: 84 06 a0 44 add %i2, 0x44, %g2 entry_node->Parent = dir_node; 4000b920: f4 27 60 08 st %i2, [ %i5 + 8 ] the_node->next = tail; 4000b924: c4 27 40 00 st %g2, [ %i5 ] tail->previous = the_node; 4000b928: fa 26 a0 48 st %i5, [ %i2 + 0x48 ] old_last->next = the_node; 4000b92c: fa 20 40 00 st %i5, [ %g1 ] the_node->previous = old_last; 4000b930: c2 27 60 04 st %g1, [ %i5 + 4 ] } else { free( allocated_node ); } return node; } 4000b934: 81 c7 e0 08 ret 4000b938: 91 e8 00 1d restore %g0, %i5, %o0 free( allocated_node ); 4000b93c: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED 4000b940: 7f ff e1 87 call 40003f5c <== NOT EXECUTED 4000b944: b0 10 00 1d mov %i5, %i0 <== NOT EXECUTED } 4000b948: 81 c7 e0 08 ret <== NOT EXECUTED 4000b94c: 81 e8 00 00 restore <== NOT EXECUTED errno = ENOMEM; 4000b950: 40 00 09 00 call 4000dd50 <__errno> <== NOT EXECUTED 4000b954: ba 10 20 00 clr %i5 <== NOT EXECUTED 4000b958: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED return NULL; 4000b95c: 10 bf ff f6 b 4000b934 <== NOT EXECUTED 4000b960: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED =============================================================================== 40002ae4 : int IMFS_fchmod( const rtems_filesystem_location_info_t *loc, mode_t mode ) { 40002ae4: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *jnode; jnode = loc->node_access; 40002ae8: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED jnode->st_mode = mode; 40002aec: f2 27 60 14 st %i1, [ %i5 + 0x14 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40002af0: 40 00 13 0b call 4000771c <_Timecounter_Getbintime> <== NOT EXECUTED 40002af4: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED return now.sec; 40002af8: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 40002afc: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED IMFS_update_ctime( jnode ); return 0; } 40002b00: 81 c7 e0 08 ret <== NOT EXECUTED 40002b04: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED =============================================================================== 4000395c : const char *name, size_t namelen, mode_t mode, void *arg ) { 4000395c: 9d e3 bf 90 save %sp, -112, %sp struct timeval tv; if ( namelen > IMFS_NAME_MAX ) { 40003960: 80 a6 e0 ff cmp %i3, 0xff 40003964: 18 80 00 19 bgu 400039c8 <== NEVER TAKEN 40003968: 92 10 20 00 clr %o1 errno = ENAMETOOLONG; return NULL; } gettimeofday( &tv, 0 ); 4000396c: 40 00 01 aa call 40004014 40003970: 90 07 bf f0 add %fp, -16, %o0 /* * Fill in the basic information */ node->name = name; node->namelen = namelen; node->reference_count = 1; 40003974: 03 00 00 40 sethi %hi(0x10000), %g1 node->name = name; 40003978: f4 26 20 0c st %i2, [ %i0 + 0xc ] node->reference_count = 1; 4000397c: 82 10 60 01 or %g1, 1, %g1 node->namelen = namelen; 40003980: f6 36 20 10 sth %i3, [ %i0 + 0x10 ] node->reference_count = 1; 40003984: c2 26 20 18 st %g1, [ %i0 + 0x18 ] node->st_nlink = 1; node->control = node_control; 40003988: 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(); 4000398c: 40 00 01 9c call 40003ffc 40003990: f8 26 20 14 st %i4, [ %i0 + 0x14 ] node->st_gid = getegid(); 40003994: 40 00 01 94 call 40003fe4 40003998: d0 36 20 1c sth %o0, [ %i0 + 0x1c ] /* * Now set all the times. */ node->stat_atime = (time_t) tv.tv_sec; 4000399c: c4 1f bf f0 ldd [ %fp + -16 ], %g2 node->st_gid = getegid(); 400039a0: 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 ); 400039a4: 92 10 00 1d mov %i5, %o1 node->stat_atime = (time_t) tv.tv_sec; 400039a8: c4 3e 20 20 std %g2, [ %i0 + 0x20 ] node->stat_mtime = (time_t) tv.tv_sec; 400039ac: c4 3e 20 28 std %g2, [ %i0 + 0x28 ] node->stat_ctime = (time_t) tv.tv_sec; 400039b0: c4 3e 20 30 std %g2, [ %i0 + 0x30 ] return (*node_control->node_initialize)( node, arg ); 400039b4: c2 06 60 04 ld [ %i1 + 4 ], %g1 400039b8: 9f c0 40 00 call %g1 400039bc: 90 10 00 18 mov %i0, %o0 } 400039c0: 81 c7 e0 08 ret 400039c4: 91 e8 00 08 restore %g0, %o0, %o0 errno = ENAMETOOLONG; 400039c8: 40 00 28 e2 call 4000dd50 <__errno> <== NOT EXECUTED 400039cc: b0 10 20 00 clr %i0 <== NOT EXECUTED 400039d0: 82 10 20 5b mov 0x5b, %g1 <== NOT EXECUTED 400039d4: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED return NULL; 400039d8: 81 c7 e0 08 ret <== NOT EXECUTED 400039dc: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40002b58 : { 40002b58: 9d e3 bf a0 save %sp, -96, %sp IMFS_fs_info_t *fs_info = mount_data->fs_info; 40002b5c: fa 06 40 00 ld [ %i1 ], %i5 fs_info->mknod_controls = mount_data->mknod_controls; 40002b60: c2 06 60 08 ld [ %i1 + 8 ], %g1 40002b64: c2 27 60 50 st %g1, [ %i5 + 0x50 ] root_node = IMFS_initialize_node( 40002b68: 9a 10 20 00 clr %o5 40002b6c: d2 00 40 00 ld [ %g1 ], %o1 40002b70: 96 10 20 00 clr %o3 40002b74: 19 00 00 10 sethi %hi(0x4000), %o4 40002b78: 90 10 00 1d mov %i5, %o0 40002b7c: 98 13 21 ed or %o4, 0x1ed, %o4 40002b80: 15 10 00 3d sethi %hi(0x4000f400), %o2 40002b84: 40 00 03 76 call 4000395c 40002b88: 94 12 a0 88 or %o2, 0x88, %o2 ! 4000f488 mt_entry->ops = mount_data->ops; 40002b8c: c2 06 60 04 ld [ %i1 + 4 ], %g1 loc->handlers = node->control->handlers; 40002b90: c4 02 20 38 ld [ %o0 + 0x38 ], %g2 40002b94: c2 26 20 0c st %g1, [ %i0 + 0xc ] mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS; 40002b98: 03 10 00 3e sethi %hi(0x4000f800), %g1 40002b9c: 82 10 61 c0 or %g1, 0x1c0, %g1 ! 4000f9c0 mt_entry->fs_info = fs_info; 40002ba0: fa 26 20 08 st %i5, [ %i0 + 8 ] mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS; 40002ba4: c2 26 20 2c st %g1, [ %i0 + 0x2c ] 40002ba8: c4 00 80 00 ld [ %g2 ], %g2 mt_entry->mt_fs_root->location.node_access = root_node; 40002bac: c2 06 20 24 ld [ %i0 + 0x24 ], %g1 40002bb0: d0 20 60 08 st %o0, [ %g1 + 8 ] 40002bb4: c4 20 60 10 st %g2, [ %g1 + 0x10 ] IMFS_determine_bytes_per_block( 40002bb8: 03 10 00 43 sethi %hi(0x40010c00), %g1 40002bbc: c6 00 61 b0 ld [ %g1 + 0x1b0 ], %g3 ! 40010db0 if (bit_mask == requested_bytes_per_block) { 40002bc0: 80 a0 e0 10 cmp %g3, 0x10 40002bc4: 02 80 00 0e be 40002bfc <== NEVER TAKEN 40002bc8: 80 a0 e0 0f cmp %g3, 0xf if(bit_mask > requested_bytes_per_block) 40002bcc: 04 80 00 0b ble 40002bf8 <== NEVER TAKEN 40002bd0: 82 10 20 20 mov 0x20, %g1 40002bd4: 84 10 20 05 mov 5, %g2 if (bit_mask == requested_bytes_per_block) { 40002bd8: 80 a0 c0 01 cmp %g3, %g1 40002bdc: 22 80 00 09 be,a 40002c00 40002be0: 03 10 00 49 sethi %hi(0x40012400), %g1 if(bit_mask > requested_bytes_per_block) 40002be4: 26 80 00 06 bl,a 40002bfc <== NEVER TAKEN 40002be8: 86 10 20 80 mov 0x80, %g3 <== NOT EXECUTED for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) { 40002bec: 84 80 bf ff addcc %g2, -1, %g2 40002bf0: 12 bf ff fa bne 40002bd8 <== ALWAYS TAKEN 40002bf4: 83 28 60 01 sll %g1, 1, %g1 : default_bytes_per_block); 40002bf8: 86 10 20 80 mov 0x80, %g3 <== NOT EXECUTED *dest_bytes_per_block = ((is_valid) 40002bfc: 03 10 00 49 sethi %hi(0x40012400), %g1 <== NOT EXECUTED 40002c00: c6 20 60 8c st %g3, [ %g1 + 0x8c ] ! 4001248c } 40002c04: 81 c7 e0 08 ret 40002c08: 91 e8 20 00 restore %g0, 0, %o0 =============================================================================== 40002cf8 : { 40002cf8: 9d e3 bf 88 save %sp, -120, %sp <== NOT EXECUTED target = targetloc->node_access; 40002cfc: fa 06 60 08 ld [ %i1 + 8 ], %i5 <== NOT EXECUTED if ( target->st_nlink >= LINK_MAX ) 40002d00: c2 17 60 1a lduh [ %i5 + 0x1a ], %g1 <== NOT EXECUTED 40002d04: 80 a0 60 07 cmp %g1, 7 <== NOT EXECUTED 40002d08: 18 80 00 19 bgu 40002d6c <== NOT EXECUTED 40002d0c: 9a 10 21 ff mov 0x1ff, %o5 <== NOT EXECUTED new_node = IMFS_create_node( 40002d10: fa 23 a0 5c st %i5, [ %sp + 0x5c ] <== NOT EXECUTED 40002d14: 98 10 00 1b mov %i3, %o4 <== NOT EXECUTED 40002d18: 96 10 00 1a mov %i2, %o3 <== NOT EXECUTED 40002d1c: 94 10 20 48 mov 0x48, %o2 <== NOT EXECUTED 40002d20: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED 40002d24: 13 10 00 3d sethi %hi(0x4000f400), %o1 <== NOT EXECUTED 40002d28: 40 00 22 e9 call 4000b8cc <== NOT EXECUTED 40002d2c: 92 12 61 90 or %o1, 0x190, %o1 ! 4000f590 <== NOT EXECUTED if ( !new_node ) 40002d30: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40002d34: 02 80 00 14 be 40002d84 <== NOT EXECUTED 40002d38: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED target->reference_count++; 40002d3c: c4 17 60 18 lduh [ %i5 + 0x18 ], %g2 <== NOT EXECUTED target->st_nlink++; 40002d40: c2 17 60 1a lduh [ %i5 + 0x1a ], %g1 <== NOT EXECUTED target->reference_count++; 40002d44: 84 00 a0 01 inc %g2 <== NOT EXECUTED target->st_nlink++; 40002d48: 82 00 60 01 inc %g1 <== NOT EXECUTED target->reference_count++; 40002d4c: c4 37 60 18 sth %g2, [ %i5 + 0x18 ] <== NOT EXECUTED target->st_nlink++; 40002d50: c2 37 60 1a sth %g1, [ %i5 + 0x1a ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40002d54: 40 00 12 72 call 4000771c <_Timecounter_Getbintime> <== NOT EXECUTED 40002d58: b0 10 20 00 clr %i0 <== NOT EXECUTED return now.sec; 40002d5c: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 40002d60: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED } 40002d64: 81 c7 e0 08 ret <== NOT EXECUTED 40002d68: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EMLINK ); 40002d6c: 40 00 2b f9 call 4000dd50 <__errno> <== NOT EXECUTED 40002d70: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40002d74: 82 10 20 1f mov 0x1f, %g1 <== NOT EXECUTED 40002d78: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40002d7c: 81 c7 e0 08 ret <== NOT EXECUTED 40002d80: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 40002d84: 40 00 2b f3 call 4000dd50 <__errno> <== NOT EXECUTED 40002d88: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40002d8c: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 40002d90: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40002d94: 81 c7 e0 08 ret <== NOT EXECUTED 40002d98: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000b964 : const char *path, mode_t mode, const IMFS_node_control *node_control, void *context ) { 4000b964: 9d e3 bf 50 save %sp, -176, %sp int rv = 0; mode &= ~rtems_filesystem_umask; 4000b968: 7f ff e4 8b call 40004b94 4000b96c: 01 00 00 00 nop 4000b970: da 02 20 08 ld [ %o0 + 8 ], %o5 4000b974: b2 2e 40 0d andn %i1, %o5, %i1 switch (mode & S_IFMT) { 4000b978: 03 00 00 3c sethi %hi(0xf000), %g1 4000b97c: 05 00 00 18 sethi %hi(0x6000), %g2 4000b980: 82 0e 40 01 and %i1, %g1, %g1 4000b984: 80 a0 40 02 cmp %g1, %g2 4000b988: 02 80 00 0c be 4000b9b8 <== NEVER TAKEN 4000b98c: 94 10 20 78 mov 0x78, %o2 4000b990: 08 80 00 1d bleu 4000ba04 <== ALWAYS TAKEN 4000b994: 05 00 00 04 sethi %hi(0x1000), %g2 4000b998: 05 00 00 20 sethi %hi(0x8000), %g2 <== NOT EXECUTED 4000b99c: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 4000b9a0: 02 80 00 06 be 4000b9b8 <== NOT EXECUTED 4000b9a4: 05 00 00 30 sethi %hi(0xc000), %g2 <== NOT EXECUTED 4000b9a8: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 4000b9ac: 12 80 00 1c bne 4000ba1c <== NOT EXECUTED 4000b9b0: 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 = 4000b9b4: 94 10 20 78 mov 0x78, %o2 ! 78 <_TLS_Alignment+0x77> <== NOT EXECUTED 4000b9b8: 92 10 00 18 mov %i0, %o1 4000b9bc: 7f ff e6 24 call 4000524c 4000b9c0: 90 07 bf c8 add %fp, -56, %o0 return loc->mt_entry->ops->clonenod_h == IMFS_node_clone; 4000b9c4: c2 02 20 14 ld [ %o0 + 0x14 ], %g1 4000b9c8: c2 00 60 0c ld [ %g1 + 0xc ], %g1 rtems_filesystem_eval_path_start( &ctx, path, eval_flags ); if ( IMFS_is_imfs_instance( currentloc ) ) { 4000b9cc: c4 00 60 24 ld [ %g1 + 0x24 ], %g2 4000b9d0: 03 10 00 0e sethi %hi(0x40003800), %g1 4000b9d4: 82 10 61 e0 or %g1, 0x1e0, %g1 ! 400039e0 4000b9d8: 80 a0 80 01 cmp %g2, %g1 4000b9dc: 02 80 00 16 be 4000ba34 <== ALWAYS TAKEN 4000b9e0: ba 10 00 08 mov %o0, %i5 IMFS_mtime_ctime_update( parent ); } else { rv = -1; } } else { rtems_filesystem_eval_path_error( &ctx, ENOTSUP ); 4000b9e4: 92 10 20 86 mov 0x86, %o1 <== NOT EXECUTED 4000b9e8: 90 07 bf c8 add %fp, -56, %o0 <== NOT EXECUTED 4000b9ec: 7f ff e5 5d call 40004f60 <== NOT EXECUTED 4000b9f0: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED rv = -1; } rtems_filesystem_eval_path_cleanup( &ctx ); 4000b9f4: 7f ff e6 22 call 4000527c <== NOT EXECUTED 4000b9f8: 90 07 bf c8 add %fp, -56, %o0 <== NOT EXECUTED } return rv; } 4000b9fc: 81 c7 e0 08 ret <== NOT EXECUTED 4000ba00: 81 e8 00 00 restore <== NOT EXECUTED switch (mode & S_IFMT) { 4000ba04: 80 a0 40 02 cmp %g1, %g2 4000ba08: 02 bf ff eb be 4000b9b4 <== NEVER TAKEN 4000ba0c: 05 00 00 08 sethi %hi(0x2000), %g2 4000ba10: 80 a0 40 02 cmp %g1, %g2 4000ba14: 02 bf ff e9 be 4000b9b8 <== ALWAYS TAKEN 4000ba18: 94 10 20 78 mov 0x78, %o2 errno = EINVAL; 4000ba1c: 40 00 08 cd call 4000dd50 <__errno> <== NOT EXECUTED 4000ba20: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 4000ba24: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 4000ba28: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 4000ba2c: 81 c7 e0 08 ret <== NOT EXECUTED 4000ba30: 81 e8 00 00 restore <== NOT EXECUTED IMFS_jnode_t *new_node = IMFS_create_node( 4000ba34: f6 23 a0 5c st %i3, [ %sp + 0x5c ] 4000ba38: 9a 10 00 19 mov %i1, %o5 4000ba3c: d8 07 bf d4 ld [ %fp + -44 ], %o4 4000ba40: d6 07 bf d0 ld [ %fp + -48 ], %o3 4000ba44: 94 10 20 48 mov 0x48, %o2 4000ba48: 92 10 00 1a mov %i2, %o1 4000ba4c: 7f ff ff a0 call 4000b8cc 4000ba50: b0 10 3f ff mov -1, %i0 if ( new_node != NULL ) { 4000ba54: 80 a2 20 00 cmp %o0, 0 4000ba58: 02 bf ff e7 be 4000b9f4 <== NEVER TAKEN 4000ba5c: 01 00 00 00 nop IMFS_jnode_t *parent = currentloc->node_access; 4000ba60: fa 07 60 08 ld [ %i5 + 8 ], %i5 _Timecounter_Getbintime( &now ); 4000ba64: 7f ff ef 2e call 4000771c <_Timecounter_Getbintime> 4000ba68: 90 07 bf b8 add %fp, -72, %o0 return now.sec; 4000ba6c: c4 1f bf b8 ldd [ %fp + -72 ], %g2 jnode->stat_mtime = now; 4000ba70: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] int rv = 0; 4000ba74: b0 10 20 00 clr %i0 jnode->stat_ctime = now; 4000ba78: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] rtems_filesystem_eval_path_cleanup( &ctx ); 4000ba7c: 7f ff e6 00 call 4000527c 4000ba80: 90 07 bf c8 add %fp, -56, %o0 } 4000ba84: 81 c7 e0 08 ret 4000ba88: 81 e8 00 00 restore =============================================================================== 400035dc : { 400035dc: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED if ( last_byte > memfile->File.size ) { 400035e0: c2 06 20 40 ld [ %i0 + 0x40 ], %g1 <== NOT EXECUTED last_byte = start + my_length; 400035e4: 96 07 00 1a add %i4, %i2, %o3 <== NOT EXECUTED if ( last_byte > memfile->File.size ) { 400035e8: 80 a0 40 0b cmp %g1, %o3 <== NOT EXECUTED 400035ec: 0a 80 00 54 bcs 4000373c <== NOT EXECUTED 400035f0: a0 10 00 18 mov %i0, %l0 <== NOT EXECUTED start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK; 400035f4: 23 10 00 49 sethi %hi(0x40012400), %l1 <== NOT EXECUTED 400035f8: e4 04 60 8c ld [ %l1 + 0x8c ], %l2 ! 4001248c <== NOT EXECUTED 400035fc: bb 3c a0 1f sra %l2, 0x1f, %i5 <== NOT EXECUTED 40003600: 96 10 00 12 mov %l2, %o3 <== NOT EXECUTED 40003604: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED 40003608: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 4000360c: 40 00 2c 5a call 4000e774 <__moddi3> <== NOT EXECUTED 40003610: 90 10 00 19 mov %i1, %o0 <== NOT EXECUTED block = start / IMFS_MEMFILE_BYTES_PER_BLOCK; 40003614: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK; 40003618: a6 10 00 09 mov %o1, %l3 <== NOT EXECUTED block = start / IMFS_MEMFILE_BYTES_PER_BLOCK; 4000361c: 96 10 00 12 mov %l2, %o3 <== NOT EXECUTED 40003620: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 40003624: 40 00 2b c9 call 4000e548 <__divdi3> <== NOT EXECUTED 40003628: 90 10 00 19 mov %i1, %o0 <== NOT EXECUTED 4000362c: ba 10 00 12 mov %l2, %i5 <== NOT EXECUTED 40003630: b4 10 00 09 mov %o1, %i2 <== NOT EXECUTED if ( start_offset ) { 40003634: 80 a4 e0 00 cmp %l3, 0 <== NOT EXECUTED 40003638: 12 80 00 1a bne 400036a0 <== NOT EXECUTED 4000363c: b0 10 20 00 clr %i0 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 40003640: 80 a7 00 1d cmp %i4, %i5 <== NOT EXECUTED 40003644: 1a 80 00 0e bcc 4000367c <== NOT EXECUTED 40003648: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED if ( my_length ) { 4000364c: 10 80 00 29 b 400036f0 <== NOT EXECUTED 40003650: 80 a7 20 00 cmp %i4, 0 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, to_copy ); 40003654: 40 00 29 ed call 4000de08 <== NOT EXECUTED 40003658: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 4000365c: c2 04 60 8c ld [ %l1 + 0x8c ], %g1 <== NOT EXECUTED my_length -= to_copy; 40003660: b8 27 00 1d sub %i4, %i5, %i4 <== NOT EXECUTED src += to_copy; 40003664: b6 06 c0 1d add %i3, %i5, %i3 <== NOT EXECUTED block++; 40003668: b4 06 a0 01 inc %i2 <== NOT EXECUTED while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) { 4000366c: 80 a0 40 1c cmp %g1, %i4 <== NOT EXECUTED 40003670: 18 80 00 1f bgu 400036ec <== NOT EXECUTED 40003674: b0 06 00 1d add %i0, %i5, %i0 <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 40003678: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 4000367c: 94 10 20 00 clr %o2 <== NOT EXECUTED 40003680: 7f ff fd d4 call 40002dd0 <== NOT EXECUTED 40003684: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, to_copy ); 40003688: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED if ( !block_ptr ) 4000368c: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003690: 12 bf ff f1 bne 40003654 <== NOT EXECUTED 40003694: 94 10 00 1d mov %i5, %o2 <== NOT EXECUTED } 40003698: 81 c7 e0 08 ret <== NOT EXECUTED 4000369c: 81 e8 00 00 restore <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 400036a0: 94 10 20 00 clr %o2 <== NOT EXECUTED 400036a4: 7f ff fd cb call 40002dd0 <== NOT EXECUTED 400036a8: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( !block_ptr ) 400036ac: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 400036b0: 02 bf ff fa be 40003698 <== NOT EXECUTED 400036b4: a4 24 80 13 sub %l2, %l3, %l2 <== NOT EXECUTED 400036b8: 80 a7 00 12 cmp %i4, %l2 <== NOT EXECUTED 400036bc: 18 80 00 37 bgu 40003798 <== NOT EXECUTED 400036c0: b0 10 00 1c mov %i4, %i0 <== NOT EXECUTED memcpy( &(*block_ptr)[ start_offset ], src, to_copy ); 400036c4: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 400036c8: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 400036cc: 94 10 00 18 mov %i0, %o2 <== NOT EXECUTED 400036d0: 90 02 00 13 add %o0, %l3, %o0 <== NOT EXECUTED 400036d4: 40 00 29 cd call 4000de08 <== NOT EXECUTED 400036d8: b6 06 c0 18 add %i3, %i0, %i3 <== NOT EXECUTED block++; 400036dc: b4 06 a0 01 inc %i2 <== NOT EXECUTED 400036e0: fa 04 60 8c ld [ %l1 + 0x8c ], %i5 <== NOT EXECUTED my_length -= to_copy; 400036e4: 10 bf ff d7 b 40003640 <== NOT EXECUTED 400036e8: b8 27 00 18 sub %i4, %i0, %i4 <== NOT EXECUTED if ( my_length ) { 400036ec: 80 a7 20 00 cmp %i4, 0 <== NOT EXECUTED 400036f0: 02 80 00 0c be 40003720 <== NOT EXECUTED 400036f4: 94 10 20 00 clr %o2 <== NOT EXECUTED block_ptr = IMFS_memfile_get_block_pointer( memfile, block, 0 ); 400036f8: 92 10 00 1a mov %i2, %o1 <== NOT EXECUTED 400036fc: 7f ff fd b5 call 40002dd0 <== NOT EXECUTED 40003700: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( !block_ptr ) 40003704: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003708: 02 bf ff e4 be 40003698 <== NOT EXECUTED 4000370c: 94 10 00 1c mov %i4, %o2 <== NOT EXECUTED memcpy( &(*block_ptr)[ 0 ], src, my_length ); 40003710: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 40003714: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 40003718: 40 00 29 bc call 4000de08 <== NOT EXECUTED 4000371c: b0 06 00 1c add %i0, %i4, %i0 <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40003720: 40 00 0f ff call 4000771c <_Timecounter_Getbintime> <== NOT EXECUTED 40003724: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED return now.sec; 40003728: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_mtime = now; 4000372c: c4 3c 20 28 std %g2, [ %l0 + 0x28 ] <== NOT EXECUTED jnode->stat_ctime = now; 40003730: c4 3c 20 30 std %g2, [ %l0 + 0x30 ] <== NOT EXECUTED } 40003734: 81 c7 e0 08 ret <== NOT EXECUTED 40003738: 81 e8 00 00 restore <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 4000373c: 80 a6 60 00 cmp %i1, 0 <== NOT EXECUTED 40003740: 04 80 00 0b ble 4000376c <== NOT EXECUTED 40003744: 92 10 20 01 mov 1, %o1 <== NOT EXECUTED status = IMFS_memfile_extend( memfile, zero_fill, last_byte ); 40003748: 94 10 20 00 clr %o2 <== NOT EXECUTED 4000374c: 92 0a 60 01 and %o1, 1, %o1 <== NOT EXECUTED 40003750: 7f ff fe 49 call 40003074 <== NOT EXECUTED 40003754: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( status ) 40003758: b0 92 20 00 orcc %o0, 0, %i0 <== NOT EXECUTED 4000375c: 02 bf ff a7 be 400035f8 <== NOT EXECUTED 40003760: 23 10 00 49 sethi %hi(0x40012400), %l1 <== NOT EXECUTED 40003764: 81 c7 e0 08 ret <== NOT EXECUTED 40003768: 81 e8 00 00 restore <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 4000376c: 02 80 00 16 be 400037c4 <== NOT EXECUTED 40003770: 80 a6 80 01 cmp %i2, %g1 <== NOT EXECUTED 40003774: 92 10 20 00 clr %o1 <== NOT EXECUTED status = IMFS_memfile_extend( memfile, zero_fill, last_byte ); 40003778: 94 10 20 00 clr %o2 <== NOT EXECUTED 4000377c: 92 0a 60 01 and %o1, 1, %o1 <== NOT EXECUTED 40003780: 7f ff fe 3d call 40003074 <== NOT EXECUTED 40003784: 90 10 00 10 mov %l0, %o0 <== NOT EXECUTED if ( status ) 40003788: b0 92 20 00 orcc %o0, 0, %i0 <== NOT EXECUTED 4000378c: 02 bf ff 9b be 400035f8 <== NOT EXECUTED 40003790: 23 10 00 49 sethi %hi(0x40012400), %l1 <== NOT EXECUTED 40003794: 30 bf ff f4 b,a 40003764 <== NOT EXECUTED memcpy( &(*block_ptr)[ start_offset ], src, to_copy ); 40003798: d0 02 00 00 ld [ %o0 ], %o0 <== NOT EXECUTED 4000379c: b0 10 00 12 mov %l2, %i0 <== NOT EXECUTED 400037a0: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED 400037a4: 94 10 00 18 mov %i0, %o2 <== NOT EXECUTED 400037a8: 90 02 00 13 add %o0, %l3, %o0 <== NOT EXECUTED 400037ac: 40 00 29 97 call 4000de08 <== NOT EXECUTED 400037b0: b6 06 c0 18 add %i3, %i0, %i3 <== NOT EXECUTED block++; 400037b4: b4 06 a0 01 inc %i2 <== NOT EXECUTED 400037b8: fa 04 60 8c ld [ %l1 + 0x8c ], %i5 <== NOT EXECUTED my_length -= to_copy; 400037bc: 10 bf ff a1 b 40003640 <== NOT EXECUTED 400037c0: b8 27 00 18 sub %i4, %i0, %i4 <== NOT EXECUTED bool zero_fill = start > memfile->File.size; 400037c4: 18 bf ff e2 bgu 4000374c <== NOT EXECUTED 400037c8: 94 10 20 00 clr %o2 <== NOT EXECUTED 400037cc: 10 bf ff ec b 4000377c <== NOT EXECUTED 400037d0: 92 10 20 00 clr %o1 <== NOT EXECUTED =============================================================================== 40003838 : const char *name, size_t namelen, mode_t mode, dev_t dev ) { 40003838: 9d e3 bf 80 save %sp, -128, %sp int rv = 0; const IMFS_fs_info_t *fs_info = parentloc->mt_entry->fs_info; 4000383c: c2 06 20 14 ld [ %i0 + 0x14 ], %g1 { 40003840: f8 3f bf e8 std %i4, [ %fp + -24 ] const IMFS_mknod_control *mknod_control = get_control( fs_info->mknod_controls, mode ); 40003844: c4 00 60 08 ld [ %g1 + 8 ], %g2 40003848: c6 00 a0 50 ld [ %g2 + 0x50 ], %g3 if ( S_ISDIR( mode ) ) { 4000384c: 03 00 00 3c sethi %hi(0xf000), %g1 40003850: 05 00 00 10 sethi %hi(0x4000), %g2 40003854: 82 0e c0 01 and %i3, %g1, %g1 40003858: 80 a0 40 02 cmp %g1, %g2 4000385c: 02 80 00 1f be 400038d8 <== ALWAYS TAKEN 40003860: 05 00 00 2c sethi %hi(0xb000), %g2 } else if ( S_ISBLK( mode ) || S_ISCHR( mode ) ) { 40003864: 09 00 00 08 sethi %hi(0x2000), %g4 <== NOT EXECUTED 40003868: 84 0e c0 02 and %i3, %g2, %g2 <== NOT EXECUTED 4000386c: 80 a0 80 04 cmp %g2, %g4 <== NOT EXECUTED 40003870: 22 80 00 07 be,a 4000388c <== NOT EXECUTED 40003874: d2 00 e0 04 ld [ %g3 + 4 ], %o1 <== NOT EXECUTED } else if ( S_ISFIFO( mode ) ) { 40003878: 05 00 00 04 sethi %hi(0x1000), %g2 <== NOT EXECUTED 4000387c: 80 a0 40 02 cmp %g1, %g2 <== NOT EXECUTED 40003880: 22 80 00 03 be,a 4000388c <== NOT EXECUTED 40003884: d2 00 e0 0c ld [ %g3 + 0xc ], %o1 <== NOT EXECUTED return controls->file; 40003888: d2 00 e0 08 ld [ %g3 + 8 ], %o1 <== NOT EXECUTED IMFS_jnode_t *new_node; new_node = IMFS_create_node( 4000388c: 82 07 bf e8 add %fp, -24, %g1 40003890: c2 23 a0 5c st %g1, [ %sp + 0x5c ] 40003894: 9a 10 00 1b mov %i3, %o5 40003898: d4 02 60 10 ld [ %o1 + 0x10 ], %o2 4000389c: 98 10 00 1a mov %i2, %o4 400038a0: 96 10 00 19 mov %i1, %o3 400038a4: 40 00 20 0a call 4000b8cc 400038a8: 90 10 00 18 mov %i0, %o0 name, namelen, mode, &dev ); if ( new_node != NULL ) { 400038ac: 80 a2 20 00 cmp %o0, 0 400038b0: 02 80 00 0c be 400038e0 <== NEVER TAKEN 400038b4: 01 00 00 00 nop IMFS_jnode_t *parent = parentloc->node_access; 400038b8: fa 06 20 08 ld [ %i0 + 8 ], %i5 _Timecounter_Getbintime( &now ); 400038bc: 40 00 0f 98 call 4000771c <_Timecounter_Getbintime> 400038c0: 90 07 bf f0 add %fp, -16, %o0 return now.sec; 400038c4: c4 1f bf f0 ldd [ %fp + -16 ], %g2 jnode->stat_mtime = now; 400038c8: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] jnode->stat_ctime = now; 400038cc: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] int rv = 0; 400038d0: 81 c7 e0 08 ret 400038d4: 91 e8 20 00 restore %g0, 0, %o0 return controls->directory; 400038d8: 10 bf ff ed b 4000388c 400038dc: d2 00 c0 00 ld [ %g3 ], %o1 } else { rv = -1; } return rv; } 400038e0: 81 c7 e0 08 ret <== NOT EXECUTED 400038e4: 91 e8 3f ff restore %g0, -1, %o0 <== NOT EXECUTED =============================================================================== 4000f4e8 : 4000f4e8: 40 00 f4 fc 40 00 2b 08 40 00 3a 50 40 00 3a 58 @...@.+.@.:P@.:X 4000f4f8: 00 00 00 48 ...H =============================================================================== 4000f48c : 4000f48c: 40 00 f4 a0 40 00 28 54 40 00 28 6c 40 00 3a 58 @...@.(T@.(l@.:X 4000f49c: 00 00 00 50 ...P =============================================================================== 4000f53c : 4000f53c: 40 00 f9 80 40 00 2b 3c 40 00 3a 50 40 00 3a 58 @...@.+<@.:P@.:X 4000f54c: 00 00 00 40 ...@ =============================================================================== 4000f5a0 : 4000f5a0: 40 00 f5 b4 40 00 2c 0c 40 00 3a 50 40 00 34 78 @...@.,.@.:P@.4x 4000f5b0: 00 00 00 58 ...X =============================================================================== 400038e8 : #endif #include int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry ) { 400038e8: 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; 400038ec: c2 06 20 20 ld [ %i0 + 0x20 ], %g1 <== NOT EXECUTED 400038f0: c4 00 60 08 ld [ %g1 + 8 ], %g2 <== NOT EXECUTED return S_ISDIR( node->st_mode ); 400038f4: 07 00 00 3c sethi %hi(0xf000), %g3 <== NOT EXECUTED 400038f8: c2 00 a0 14 ld [ %g2 + 0x14 ], %g1 <== NOT EXECUTED 400038fc: 82 08 40 03 and %g1, %g3, %g1 <== NOT EXECUTED if ( IMFS_is_directory( node ) ) { 40003900: 07 00 00 10 sethi %hi(0x4000), %g3 <== NOT EXECUTED 40003904: 80 a0 40 03 cmp %g1, %g3 <== NOT EXECUTED 40003908: 12 80 00 0f bne 40003944 <== NOT EXECUTED 4000390c: 01 00 00 00 nop <== NOT EXECUTED IMFS_directory_t *dir = (IMFS_directory_t *) node; if ( dir->mt_fs == NULL ) { 40003910: c2 00 a0 4c ld [ %g2 + 0x4c ], %g1 <== NOT EXECUTED 40003914: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 40003918: 12 80 00 05 bne 4000392c <== NOT EXECUTED 4000391c: 01 00 00 00 nop <== NOT EXECUTED dir->mt_fs = mt_entry; 40003920: f0 20 a0 4c st %i0, [ %g2 + 0x4c ] <== NOT EXECUTED 40003924: 81 c7 e0 08 ret <== NOT EXECUTED 40003928: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED } else { errno = EBUSY; 4000392c: 40 00 29 09 call 4000dd50 <__errno> <== NOT EXECUTED 40003930: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003934: 82 10 20 10 mov 0x10, %g1 <== NOT EXECUTED 40003938: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 4000393c: 81 c7 e0 08 ret <== NOT EXECUTED 40003940: 81 e8 00 00 restore <== NOT EXECUTED rv = -1; } } else { errno = ENOTDIR; 40003944: 40 00 29 03 call 4000dd50 <__errno> <== NOT EXECUTED 40003948: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 4000394c: 82 10 20 14 mov 0x14, %g1 <== NOT EXECUTED 40003950: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED rv = -1; } return rv; } 40003954: 81 c7 e0 08 ret <== NOT EXECUTED 40003958: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 400039f8 : void IMFS_node_destroy( IMFS_jnode_t *node ) { 400039f8: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED IMFS_assert( node->reference_count == 0 ); (*node->control->node_destroy)( node ); 400039fc: c2 06 20 38 ld [ %i0 + 0x38 ], %g1 <== NOT EXECUTED 40003a00: c2 00 60 0c ld [ %g1 + 0xc ], %g1 <== NOT EXECUTED 40003a04: 9f c0 40 00 call %g1 <== NOT EXECUTED 40003a08: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED } 40003a0c: 81 c7 e0 08 ret <== NOT EXECUTED 40003a10: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003a58 : void IMFS_node_destroy_default( IMFS_jnode_t *node ) { 40003a58: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED if ( ( node->flags & IMFS_NODE_FLAG_NAME_ALLOCATED ) != 0 ) { 40003a5c: c2 16 20 12 lduh [ %i0 + 0x12 ], %g1 <== NOT EXECUTED 40003a60: 80 88 60 01 btst 1, %g1 <== NOT EXECUTED 40003a64: 12 80 00 04 bne 40003a74 <== NOT EXECUTED 40003a68: 01 00 00 00 nop <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); } free( node ); 40003a6c: 40 00 01 3c call 40003f5c <== NOT EXECUTED 40003a70: 81 e8 00 00 restore <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); 40003a74: 40 00 01 3a call 40003f5c <== NOT EXECUTED 40003a78: d0 06 20 0c ld [ %i0 + 0xc ], %o0 <== NOT EXECUTED free( node ); 40003a7c: 40 00 01 38 call 40003f5c <== NOT EXECUTED 40003a80: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003a14 : void IMFS_node_free( const rtems_filesystem_location_info_t *loc ) { 40003a14: 9d e3 bf a0 save %sp, -96, %sp IMFS_jnode_t *node = loc->node_access; 40003a18: d0 06 20 08 ld [ %i0 + 8 ], %o0 --node->reference_count; 40003a1c: c2 12 20 18 lduh [ %o0 + 0x18 ], %g1 40003a20: 82 00 7f ff add %g1, -1, %g1 40003a24: c2 32 20 18 sth %g1, [ %o0 + 0x18 ] if ( node->reference_count == 0 ) { 40003a28: 83 28 60 10 sll %g1, 0x10, %g1 40003a2c: 80 a0 60 00 cmp %g1, 0 40003a30: 12 80 00 06 bne 40003a48 <== ALWAYS TAKEN 40003a34: 01 00 00 00 nop (*node->control->node_destroy)( node ); 40003a38: c2 02 20 38 ld [ %o0 + 0x38 ], %g1 <== NOT EXECUTED 40003a3c: c2 00 60 0c ld [ %g1 + 0xc ], %g1 <== NOT EXECUTED 40003a40: 9f c0 40 00 call %g1 <== NOT EXECUTED 40003a44: 01 00 00 00 nop <== NOT EXECUTED IMFS_node_destroy( node ); } } 40003a48: 81 c7 e0 08 ret 40003a4c: 81 e8 00 00 restore =============================================================================== 40003a50 : IMFS_jnode_t *IMFS_node_remove_default( IMFS_jnode_t *node ) { return node; } 40003a50: 81 c3 e0 08 retl <== NOT EXECUTED 40003a54: 01 00 00 00 nop <== NOT EXECUTED =============================================================================== 4000286c : { return dir->mt_fs != NULL; } IMFS_jnode_t *IMFS_node_remove_directory( IMFS_jnode_t *node ) { 4000286c: 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 ) ) { 40002870: c4 06 20 40 ld [ %i0 + 0x40 ], %g2 <== NOT EXECUTED return &the_chain->Tail.Node; 40002874: 82 06 20 44 add %i0, 0x44, %g1 <== NOT EXECUTED 40002878: 80 a0 80 01 cmp %g2, %g1 <== NOT EXECUTED 4000287c: 12 80 00 0c bne 400028ac <== NOT EXECUTED 40002880: 01 00 00 00 nop <== NOT EXECUTED errno = ENOTEMPTY; dir = NULL; } else if ( IMFS_is_mount_point( dir ) ) { 40002884: c2 06 20 4c ld [ %i0 + 0x4c ], %g1 <== NOT EXECUTED 40002888: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000288c: 02 80 00 0c be 400028bc <== NOT EXECUTED 40002890: 01 00 00 00 nop <== NOT EXECUTED errno = EBUSY; 40002894: 40 00 2d 2f call 4000dd50 <__errno> <== NOT EXECUTED 40002898: b0 10 20 00 clr %i0 ! 0 <== NOT EXECUTED 4000289c: 82 10 20 10 mov 0x10, %g1 <== NOT EXECUTED 400028a0: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED dir = NULL; } return &dir->Node; } 400028a4: 81 c7 e0 08 ret <== NOT EXECUTED 400028a8: 81 e8 00 00 restore <== NOT EXECUTED errno = ENOTEMPTY; 400028ac: 40 00 2d 29 call 4000dd50 <__errno> <== NOT EXECUTED 400028b0: b0 10 20 00 clr %i0 <== NOT EXECUTED 400028b4: 82 10 20 5a mov 0x5a, %g1 <== NOT EXECUTED 400028b8: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 400028bc: 81 c7 e0 08 ret <== NOT EXECUTED 400028c0: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003d20 : for( i=0; ((iname[i] != '\0')); i++ ) 40003d20: 80 a2 a0 00 cmp %o2, 0 <== NOT EXECUTED 40003d24: 02 80 00 16 be 40003d7c <== NOT EXECUTED 40003d28: c6 02 20 08 ld [ %o0 + 8 ], %g3 <== NOT EXECUTED 40003d2c: c2 00 e0 40 ld [ %g3 + 0x40 ], %g1 <== NOT EXECUTED 40003d30: c4 48 40 00 ldsb [ %g1 ], %g2 <== NOT EXECUTED 40003d34: 90 10 20 00 clr %o0 <== NOT EXECUTED 40003d38: 80 a0 a0 00 cmp %g2, 0 <== NOT EXECUTED 40003d3c: 12 80 00 07 bne 40003d58 <== NOT EXECUTED 40003d40: c2 08 40 00 ldub [ %g1 ], %g1 <== NOT EXECUTED 40003d44: 30 80 00 0c b,a 40003d74 <== NOT EXECUTED 40003d48: c4 48 40 08 ldsb [ %g1 + %o0 ], %g2 <== NOT EXECUTED 40003d4c: 80 a0 a0 00 cmp %g2, 0 <== NOT EXECUTED 40003d50: 02 80 00 07 be 40003d6c <== NOT EXECUTED 40003d54: c2 08 40 08 ldub [ %g1 + %o0 ], %g1 <== NOT EXECUTED buf[i] = sym_link->name[i]; 40003d58: c2 2a 40 08 stb %g1, [ %o1 + %o0 ] <== NOT EXECUTED for( i=0; ((iname[i] != '\0')); i++ ) 40003d5c: 90 02 20 01 inc %o0 <== NOT EXECUTED 40003d60: 80 a2 80 08 cmp %o2, %o0 <== NOT EXECUTED 40003d64: 32 bf ff f9 bne,a 40003d48 <== NOT EXECUTED 40003d68: c2 00 e0 40 ld [ %g3 + 0x40 ], %g1 <== NOT EXECUTED } 40003d6c: 81 c3 e0 08 retl <== NOT EXECUTED 40003d70: 01 00 00 00 nop <== NOT EXECUTED 40003d74: 81 c3 e0 08 retl <== NOT EXECUTED 40003d78: 01 00 00 00 nop <== NOT EXECUTED for( i=0; ((iname[i] != '\0')); i++ ) 40003d7c: 81 c3 e0 08 retl <== NOT EXECUTED 40003d80: 90 10 20 00 clr %o0 ! 0 <== NOT EXECUTED =============================================================================== 40003a84 : const rtems_filesystem_location_info_t *oldloc, const rtems_filesystem_location_info_t *newparentloc, const char *name, size_t namelen ) { 40003a84: 9d e3 bf 90 save %sp, -112, %sp <== NOT EXECUTED IMFS_jnode_t *node = oldloc->node_access; 40003a88: 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 ) { 40003a8c: c2 07 60 08 ld [ %i5 + 8 ], %g1 <== NOT EXECUTED 40003a90: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 40003a94: 02 80 00 36 be 40003b6c <== NOT EXECUTED 40003a98: f4 06 a0 08 ld [ %i2 + 8 ], %i2 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EINVAL ); } if ( namelen >= IMFS_NAME_MAX ) { 40003a9c: 80 a7 20 fe cmp %i4, 0xfe <== NOT EXECUTED 40003aa0: 18 80 00 27 bgu 40003b3c <== NOT EXECUTED 40003aa4: 01 00 00 00 nop <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENAMETOOLONG ); } allocated_name = malloc( namelen ); 40003aa8: 40 00 02 3c call 40004398 <== NOT EXECUTED 40003aac: 90 10 00 1c mov %i4, %o0 <== NOT EXECUTED if ( allocated_name == NULL ) { 40003ab0: b2 92 20 00 orcc %o0, 0, %i1 <== NOT EXECUTED 40003ab4: 02 80 00 28 be 40003b54 <== NOT EXECUTED 40003ab8: 94 10 00 1c mov %i4, %o2 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); } memcpy( allocated_name, name, namelen ); 40003abc: 40 00 28 d3 call 4000de08 <== NOT EXECUTED 40003ac0: 92 10 00 1b mov %i3, %o1 <== NOT EXECUTED if ( ( node->flags & IMFS_NODE_FLAG_NAME_ALLOCATED ) != 0 ) { 40003ac4: c2 17 60 12 lduh [ %i5 + 0x12 ], %g1 <== NOT EXECUTED 40003ac8: 80 88 60 01 btst 1, %g1 <== NOT EXECUTED 40003acc: 12 80 00 18 bne 40003b2c <== NOT EXECUTED 40003ad0: 01 00 00 00 nop <== NOT EXECUTED ) { Chain_Node *next; Chain_Node *previous; next = the_node->next; 40003ad4: c6 07 40 00 ld [ %i5 ], %g3 <== NOT EXECUTED previous = the_node->previous; 40003ad8: c4 07 60 04 ld [ %i5 + 4 ], %g2 <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); } node->name = allocated_name; 40003adc: f2 27 60 0c st %i1, [ %i5 + 0xc ] <== NOT EXECUTED node->namelen = namelen; node->flags |= IMFS_NODE_FLAG_NAME_ALLOCATED; 40003ae0: 82 10 60 01 or %g1, 1, %g1 <== NOT EXECUTED node->namelen = namelen; 40003ae4: f8 37 60 10 sth %i4, [ %i5 + 0x10 ] <== NOT EXECUTED return &the_chain->Tail.Node; 40003ae8: 88 06 a0 44 add %i2, 0x44, %g4 <== NOT EXECUTED node->flags |= IMFS_NODE_FLAG_NAME_ALLOCATED; 40003aec: c2 37 60 12 sth %g1, [ %i5 + 0x12 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40003af0: 90 07 bf f0 add %fp, -16, %o0 <== NOT EXECUTED next->previous = previous; 40003af4: 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; 40003af8: b0 10 20 00 clr %i0 <== NOT EXECUTED previous->next = next; 40003afc: 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; 40003b00: c2 06 a0 48 ld [ %i2 + 0x48 ], %g1 <== NOT EXECUTED entry_node->Parent = dir_node; 40003b04: f4 27 60 08 st %i2, [ %i5 + 8 ] <== NOT EXECUTED the_node->next = tail; 40003b08: c8 27 40 00 st %g4, [ %i5 ] <== NOT EXECUTED tail->previous = the_node; 40003b0c: fa 26 a0 48 st %i5, [ %i2 + 0x48 ] <== NOT EXECUTED old_last->next = the_node; 40003b10: fa 20 40 00 st %i5, [ %g1 ] <== NOT EXECUTED _Timecounter_Getbintime( &now ); 40003b14: 40 00 0f 02 call 4000771c <_Timecounter_Getbintime> <== NOT EXECUTED 40003b18: c2 27 60 04 st %g1, [ %i5 + 4 ] <== NOT EXECUTED return now.sec; 40003b1c: c4 1f bf f0 ldd [ %fp + -16 ], %g2 <== NOT EXECUTED jnode->stat_ctime = _IMFS_get_time(); 40003b20: c4 3f 60 30 std %g2, [ %i5 + 0x30 ] <== NOT EXECUTED } 40003b24: 81 c7 e0 08 ret <== NOT EXECUTED 40003b28: 81 e8 00 00 restore <== NOT EXECUTED free( RTEMS_DECONST( char *, node->name ) ); 40003b2c: 40 00 01 0c call 40003f5c <== NOT EXECUTED 40003b30: d0 07 60 0c ld [ %i5 + 0xc ], %o0 <== NOT EXECUTED 40003b34: 10 bf ff e8 b 40003ad4 <== NOT EXECUTED 40003b38: c2 17 60 12 lduh [ %i5 + 0x12 ], %g1 <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENAMETOOLONG ); 40003b3c: 40 00 28 85 call 4000dd50 <__errno> <== NOT EXECUTED 40003b40: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003b44: 82 10 20 5b mov 0x5b, %g1 <== NOT EXECUTED 40003b48: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40003b4c: 81 c7 e0 08 ret <== NOT EXECUTED 40003b50: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 40003b54: 40 00 28 7f call 4000dd50 <__errno> <== NOT EXECUTED 40003b58: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003b5c: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 40003b60: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40003b64: 81 c7 e0 08 ret <== NOT EXECUTED 40003b68: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( EINVAL ); 40003b6c: 40 00 28 79 call 4000dd50 <__errno> <== NOT EXECUTED 40003b70: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003b74: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 40003b78: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40003b7c: 81 c7 e0 08 ret <== NOT EXECUTED 40003b80: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003b84 : int IMFS_rmnod( const rtems_filesystem_location_info_t *parentloc, const rtems_filesystem_location_info_t *loc ) { 40003b84: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED int rv = 0; IMFS_jnode_t *node = loc->node_access; 40003b88: d0 06 60 08 ld [ %i1 + 8 ], %o0 <== NOT EXECUTED node = (*node->control->node_remove)( node ); 40003b8c: c2 02 20 38 ld [ %o0 + 0x38 ], %g1 <== NOT EXECUTED 40003b90: c2 00 60 08 ld [ %g1 + 8 ], %g1 <== NOT EXECUTED 40003b94: 9f c0 40 00 call %g1 <== NOT EXECUTED 40003b98: 01 00 00 00 nop <== NOT EXECUTED if ( node != NULL ) { 40003b9c: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003ba0: 22 80 00 11 be,a 40003be4 <== NOT EXECUTED 40003ba4: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED --node->reference_count; 40003ba8: c4 12 20 18 lduh [ %o0 + 0x18 ], %g2 <== NOT EXECUTED --node->st_nlink; 40003bac: c2 12 20 1a lduh [ %o0 + 0x1a ], %g1 <== NOT EXECUTED 40003bb0: 82 00 7f ff add %g1, -1, %g1 <== NOT EXECUTED --node->reference_count; 40003bb4: 84 00 bf ff add %g2, -1, %g2 <== NOT EXECUTED --node->st_nlink; 40003bb8: c2 32 20 1a sth %g1, [ %o0 + 0x1a ] <== NOT EXECUTED --node->reference_count; 40003bbc: c4 32 20 18 sth %g2, [ %o0 + 0x18 ] <== NOT EXECUTED if ( node->Parent != NULL ) { 40003bc0: c2 02 20 08 ld [ %o0 + 8 ], %g1 <== NOT EXECUTED 40003bc4: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 40003bc8: 02 80 00 07 be 40003be4 <== NOT EXECUTED 40003bcc: b0 10 20 00 clr %i0 <== NOT EXECUTED node->Parent = NULL; 40003bd0: c0 22 20 08 clr [ %o0 + 8 ] <== NOT EXECUTED next = the_node->next; 40003bd4: c4 02 00 00 ld [ %o0 ], %g2 <== NOT EXECUTED previous = the_node->previous; 40003bd8: c2 02 20 04 ld [ %o0 + 4 ], %g1 <== NOT EXECUTED next->previous = previous; 40003bdc: c2 20 a0 04 st %g1, [ %g2 + 4 ] <== NOT EXECUTED previous->next = next; 40003be0: c4 20 40 00 st %g2, [ %g1 ] <== NOT EXECUTED 40003be4: 81 c7 e0 08 ret <== NOT EXECUTED 40003be8: 81 e8 00 00 restore <== NOT EXECUTED } else { rv = -1; } return rv; } 40003bec: 81 c7 e0 08 ret <== NOT EXECUTED 40003bf0: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003bf4 : struct stat *buf ) { const IMFS_file_t *file = loc->node_access; buf->st_size = file->File.size; 40003bf4: c2 02 20 08 ld [ %o0 + 8 ], %g1 <== NOT EXECUTED 40003bf8: c6 00 60 40 ld [ %g1 + 0x40 ], %g3 <== NOT EXECUTED buf->st_blksize = imfs_memfile_bytes_per_block; 40003bfc: 03 10 00 49 sethi %hi(0x40012400), %g1 <== NOT EXECUTED 40003c00: c4 00 60 8c ld [ %g1 + 0x8c ], %g2 ! 4001248c <== NOT EXECUTED buf->st_size = file->File.size; 40003c04: c0 22 60 20 clr [ %o1 + 0x20 ] <== NOT EXECUTED 40003c08: c6 22 60 24 st %g3, [ %o1 + 0x24 ] <== NOT EXECUTED buf->st_blksize = imfs_memfile_bytes_per_block; 40003c0c: c4 22 60 58 st %g2, [ %o1 + 0x58 ] <== NOT EXECUTED return IMFS_stat( loc, buf ); 40003c10: 82 13 c0 00 mov %o7, %g1 <== NOT EXECUTED 40003c14: 40 00 00 02 call 40003c1c <== NOT EXECUTED 40003c18: 9e 10 40 00 mov %g1, %o7 <== NOT EXECUTED =============================================================================== 40003cbc : { 40003cbc: 9d e3 bf 98 save %sp, -104, %sp <== NOT EXECUTED sizeof( IMFS_sym_link_t ) + strlen( target ) + 1, 40003cc0: 40 00 29 74 call 4000e290 <== NOT EXECUTED 40003cc4: 90 10 00 1b mov %i3, %o0 <== NOT EXECUTED new_node = IMFS_create_node( 40003cc8: f6 23 a0 5c st %i3, [ %sp + 0x5c ] <== NOT EXECUTED 40003ccc: 94 02 20 49 add %o0, 0x49, %o2 <== NOT EXECUTED 40003cd0: 98 10 00 1a mov %i2, %o4 <== NOT EXECUTED 40003cd4: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED 40003cd8: 1b 00 00 28 sethi %hi(0xa000), %o5 <== NOT EXECUTED 40003cdc: 96 10 00 19 mov %i1, %o3 <== NOT EXECUTED 40003ce0: 9a 13 61 ff or %o5, 0x1ff, %o5 <== NOT EXECUTED 40003ce4: 13 10 00 3d sethi %hi(0x4000f400), %o1 <== NOT EXECUTED return 0; 40003ce8: b0 10 20 00 clr %i0 <== NOT EXECUTED new_node = IMFS_create_node( 40003cec: 40 00 1e f8 call 4000b8cc <== NOT EXECUTED 40003cf0: 92 12 62 34 or %o1, 0x234, %o1 <== NOT EXECUTED if ( new_node == NULL ) { 40003cf4: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40003cf8: 02 80 00 04 be 40003d08 <== NOT EXECUTED 40003cfc: 01 00 00 00 nop <== NOT EXECUTED } 40003d00: 81 c7 e0 08 ret <== NOT EXECUTED 40003d04: 81 e8 00 00 restore <== NOT EXECUTED rtems_set_errno_and_return_minus_one( ENOMEM ); 40003d08: 40 00 28 12 call 4000dd50 <__errno> <== NOT EXECUTED 40003d0c: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003d10: 82 10 20 0c mov 0xc, %g1 <== NOT EXECUTED 40003d14: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED } 40003d18: 81 c7 e0 08 ret <== NOT EXECUTED 40003d1c: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003d84 : #endif #include int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry ) { 40003d84: 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; 40003d88: c2 06 20 20 ld [ %i0 + 0x20 ], %g1 <== NOT EXECUTED 40003d8c: c4 00 60 08 ld [ %g1 + 8 ], %g2 <== NOT EXECUTED return S_ISDIR( node->st_mode ); 40003d90: 07 00 00 3c sethi %hi(0xf000), %g3 <== NOT EXECUTED 40003d94: c2 00 a0 14 ld [ %g2 + 0x14 ], %g1 <== NOT EXECUTED 40003d98: 82 08 40 03 and %g1, %g3, %g1 <== NOT EXECUTED if ( IMFS_is_directory( node ) ) { 40003d9c: 07 00 00 10 sethi %hi(0x4000), %g3 <== NOT EXECUTED 40003da0: 80 a0 40 03 cmp %g1, %g3 <== NOT EXECUTED 40003da4: 12 80 00 0f bne 40003de0 <== NOT EXECUTED 40003da8: 01 00 00 00 nop <== NOT EXECUTED IMFS_directory_t *dir = (IMFS_directory_t *) node; if ( dir->mt_fs == mt_entry ) { 40003dac: c2 00 a0 4c ld [ %g2 + 0x4c ], %g1 <== NOT EXECUTED 40003db0: 80 a0 40 18 cmp %g1, %i0 <== NOT EXECUTED 40003db4: 12 80 00 05 bne 40003dc8 <== NOT EXECUTED 40003db8: 01 00 00 00 nop <== NOT EXECUTED dir->mt_fs = NULL; 40003dbc: c0 20 a0 4c clr [ %g2 + 0x4c ] <== NOT EXECUTED 40003dc0: 81 c7 e0 08 ret <== NOT EXECUTED 40003dc4: 91 e8 20 00 restore %g0, 0, %o0 <== NOT EXECUTED } else { errno = EINVAL; 40003dc8: 40 00 27 e2 call 4000dd50 <__errno> <== NOT EXECUTED 40003dcc: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003dd0: 82 10 20 16 mov 0x16, %g1 <== NOT EXECUTED 40003dd4: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED 40003dd8: 81 c7 e0 08 ret <== NOT EXECUTED 40003ddc: 81 e8 00 00 restore <== NOT EXECUTED rv = -1; } } else { errno = ENOTDIR; 40003de0: 40 00 27 dc call 4000dd50 <__errno> <== NOT EXECUTED 40003de4: b0 10 3f ff mov -1, %i0 <== NOT EXECUTED 40003de8: 82 10 20 14 mov 0x14, %g1 <== NOT EXECUTED 40003dec: c2 22 00 00 st %g1, [ %o0 ] <== NOT EXECUTED rv = -1; } return rv; } 40003df0: 81 c7 e0 08 ret <== NOT EXECUTED 40003df4: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40003df8 : int IMFS_utime( const rtems_filesystem_location_info_t *loc, time_t actime, time_t modtime ) { 40003df8: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED IMFS_jnode_t *the_jnode; the_jnode = (IMFS_jnode_t *) loc->node_access; 40003dfc: fa 06 20 08 ld [ %i0 + 8 ], %i5 <== NOT EXECUTED { 40003e00: 84 10 00 1b mov %i3, %g2 <== NOT EXECUTED 40003e04: b0 10 00 19 mov %i1, %i0 <== NOT EXECUTED 40003e08: 86 10 00 1c mov %i4, %g3 <== NOT EXECUTED 40003e0c: b2 10 00 1a mov %i2, %i1 <== NOT EXECUTED the_jnode->stat_atime = actime; the_jnode->stat_mtime = modtime; 40003e10: c4 3f 60 28 std %g2, [ %i5 + 0x28 ] <== NOT EXECUTED the_jnode->stat_ctime = time( NULL ); 40003e14: 90 10 20 00 clr %o0 <== NOT EXECUTED the_jnode->stat_atime = actime; 40003e18: f0 3f 60 20 std %i0, [ %i5 + 0x20 ] <== NOT EXECUTED the_jnode->stat_ctime = time( NULL ); 40003e1c: 40 00 29 4d call 4000e350