RTEMS-5
Annotated Report
Fri Aug 10 13:30:33 2018

4000f9c0 <IMFS_LIMITS_AND_OPTIONS>:
                                  
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 <IMFS_chown>: 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 <IMFS_create_node>: 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 <calloc>
                       
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 <IMFS_create_node+0x84>
          <== 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 <IMFS_initialize_node>
         
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 <IMFS_create_node+0x70>
          <== 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 <memcpy>
                       
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 <free>
                         <== 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 <IMFS_create_node+0x68>
           <== NOT EXECUTED
4000b960:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED

                                                                     

40002ae4 <IMFS_fchmod>: 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 <IMFS_initialize_node>: 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 <IMFS_initialize_node+0x6c>
     <== NEVER TAKEN
40003968:	92 10 20 00 	clr  %o1
                                      
    errno = ENAMETOOLONG;
                                            

                                                                     
    return NULL;
                                                     
  }
                                                                  

                                                                     
  gettimeofday( &tv, 0 );
                                            
4000396c:	40 00 01 aa 	call  40004014 <gettimeofday>
                 
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 <geteuid>
                      
40003990:	f8 26 20 14 	st  %i4, [ %i0 + 0x14 ]
                       
  node->st_gid = getegid();
                                          
40003994:	40 00 01 94 	call  40003fe4 <getegid>
                      
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 <IMFS_initialize_support>: {
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 <IMFS_initialize_node>
         
40002b88:	94 12 a0 88 	or  %o2, 0x88, %o2	! 4000f488 <rtems_test_name+0x100>

  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 <IMFS_LIMITS_AND_OPTIONS>

  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 <imfs_rq_memfile_bytes_per_block>

    if (bit_mask == requested_bytes_per_block) {
                     
40002bc0:	80 a0 e0 10 	cmp  %g3, 0x10
                                
40002bc4:	02 80 00 0e 	be  40002bfc <IMFS_initialize_support+0xa4>
   <== NEVER TAKEN
40002bc8:	80 a0 e0 0f 	cmp  %g3, 0xf
                                 
    if(bit_mask > requested_bytes_per_block)
                         
40002bcc:	04 80 00 0b 	ble  40002bf8 <IMFS_initialize_support+0xa0>
  <== 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 <IMFS_initialize_support+0xa8>

40002be0:	03 10 00 49 	sethi  %hi(0x40012400), %g1
                   
    if(bit_mask > requested_bytes_per_block)
                         
40002be4:	26 80 00 06 	bl,a   40002bfc <IMFS_initialize_support+0xa4>
<== 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 <IMFS_initialize_support+0x80>
  <== 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 <imfs_memfile_bytes_per_block>

}
                                                                    
40002c04:	81 c7 e0 08 	ret 
                                          
40002c08:	91 e8 20 00 	restore  %g0, 0, %o0
                          

                                                                     

40002cf8 <IMFS_link>: {
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 <IMFS_link+0x74>
                <== 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 <IMFS_create_node>
             <== NOT EXECUTED
40002d2c:	92 12 61 90 	or  %o1, 0x190, %o1	! 4000f590 <IMFS_node_control_hard_link>
<== NOT EXECUTED
  if ( !new_node )
                                                   
40002d30:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
40002d34:	02 80 00 14 	be  40002d84 <IMFS_link+0x8c>
                 <== 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 <IMFS_make_generic_node>: 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 <rtems_current_user_env_get>
   
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 <IMFS_make_generic_node+0x54>
    <== NEVER TAKEN
4000b98c:	94 10 20 78 	mov  0x78, %o2
                                
4000b990:	08 80 00 1d 	bleu  4000ba04 <IMFS_make_generic_node+0xa0>
  <== 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 <IMFS_make_generic_node+0x54>
    <== 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 <IMFS_make_generic_node+0xb8>
   <== 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 <rtems_filesystem_eval_path_start>

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 <IMFS_node_clone>

4000b9d8:	80 a0 80 01 	cmp  %g2, %g1
                                 
4000b9dc:	02 80 00 16 	be  4000ba34 <IMFS_make_generic_node+0xd0>
    <== 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 <rtems_filesystem_eval_path_error>
<== 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 <rtems_filesystem_eval_path_cleanup>
<== 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 <IMFS_make_generic_node+0x50>
    <== 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 <IMFS_make_generic_node+0x54>
    <== 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 <IMFS_create_node>
             
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 <IMFS_make_generic_node+0x90>
    <== 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 <rtems_filesystem_eval_path_cleanup>

4000ba80:	90 07 bf c8 	add  %fp, -56, %o0
                            
}
                                                                    
4000ba84:	81 c7 e0 08 	ret 
                                          
4000ba88:	81 e8 00 00 	restore 
                                      

                                                                     

400035dc <IMFS_memfile_write>: {
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 <IMFS_memfile_write+0x160>
      <== 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 <imfs_memfile_bytes_per_block>
<== 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 <IMFS_memfile_write+0xc4>
       <== 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 <IMFS_memfile_write+0xa0>
       <== NOT EXECUTED
40003648:	92 10 00 1a 	mov  %i2, %o1
                                 <== NOT EXECUTED
  if ( my_length ) {
                                                 
4000364c:	10 80 00 29 	b  400036f0 <IMFS_memfile_write+0x114>
        <== 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 <memcpy>
                       <== 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 <IMFS_memfile_write+0x110>
      <== 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 <IMFS_memfile_get_block_pointer>
<== 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 <IMFS_memfile_write+0x78>
       <== 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 <IMFS_memfile_get_block_pointer>
<== 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 <IMFS_memfile_write+0xbc>
        <== 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 <IMFS_memfile_write+0x1bc>
      <== 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 <memcpy>
                       <== 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 <IMFS_memfile_write+0x64>
         <== 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 <IMFS_memfile_write+0x144>
       <== 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 <IMFS_memfile_get_block_pointer>
<== 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 <IMFS_memfile_write+0xbc>
        <== 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 <memcpy>
                       <== 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 <IMFS_memfile_write+0x190>
      <== 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 <IMFS_memfile_extend>
          <== 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 <IMFS_memfile_write+0x1c>
        <== 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 <IMFS_memfile_write+0x1e8>
       <== 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 <IMFS_memfile_extend>
          <== 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 <IMFS_memfile_write+0x1c>
        <== NOT EXECUTED
40003790:	23 10 00 49 	sethi  %hi(0x40012400), %l1
                   <== NOT EXECUTED
40003794:	30 bf ff f4 	b,a   40003764 <IMFS_memfile_write+0x188>
     <== 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 <memcpy>
                       <== 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 <IMFS_memfile_write+0x64>
         <== 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 <IMFS_memfile_write+0x170>
      <== NOT EXECUTED
400037c8:	94 10 20 00 	clr  %o2
                                      <== NOT EXECUTED
400037cc:	10 bf ff ec 	b  4000377c <IMFS_memfile_write+0x1a0>
        <== NOT EXECUTED
400037d0:	92 10 20 00 	clr  %o1
                                      <== NOT EXECUTED

                                                                     

40003838 <IMFS_mknod>: 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 <IMFS_mknod+0xa0>
                <== 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 <IMFS_mknod+0x54>
             <== 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 <IMFS_mknod+0x54>
             <== 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 <IMFS_create_node>
             
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 <IMFS_mknod+0xa8>
                <== 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 <IMFS_mknod+0x54>
                 
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 <IMFS_mknod_control_device>: 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 <IMFS_mknod_control_dir_default>: 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 <IMFS_mknod_control_enosys>: 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 <IMFS_mknod_control_memfile>: 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 <IMFS_mount>: #endif #include <rtems/imfs.h> 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 <IMFS_mount+0x5c>
               <== 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 <IMFS_mount+0x44>
               <== 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 <IMFS_node_destroy>: 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 <IMFS_node_destroy_default>: 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 <IMFS_node_destroy_default+0x1c>
<== 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 <free>
                         <== NOT EXECUTED
40003a70:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    free( RTEMS_DECONST( char *, node->name ) );
                     
40003a74:	40 00 01 3a 	call  40003f5c <free>
                         <== NOT EXECUTED
40003a78:	d0 06 20 0c 	ld  [ %i0 + 0xc ], %o0
                        <== NOT EXECUTED
  free( node );
                                                      
40003a7c:	40 00 01 38 	call  40003f5c <free>
                         <== NOT EXECUTED
40003a80:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40003a14 <IMFS_node_free>: 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 <IMFS_node_free+0x34>
           <== 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_node_remove_default>: 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 <IMFS_node_remove_directory>: { 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 <IMFS_node_remove_directory+0x40>
<== 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 <IMFS_node_remove_directory+0x50>
<== 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 <PROM_START>
                     <== 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 <IMFS_readlink>: for( i=0; ((i<bufsize) && (sym_link->name[i] != '\0')); i++ )
40003d20:	80 a2 a0 00 	cmp  %o2, 0
                                   <== NOT EXECUTED
40003d24:	02 80 00 16 	be  40003d7c <IMFS_readlink+0x5c>
             <== 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 <IMFS_readlink+0x38>
            <== NOT EXECUTED
40003d40:	c2 08 40 00 	ldub  [ %g1 ], %g1
                            <== NOT EXECUTED
40003d44:	30 80 00 0c 	b,a   40003d74 <IMFS_readlink+0x54>
           <== 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 <IMFS_readlink+0x4c>
             <== 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; ((i<bufsize) && (sym_link->name[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 <IMFS_readlink+0x28>
         <== 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; ((i<bufsize) && (sym_link->name[i] != '\0')); i++ )
      
40003d7c:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40003d80:	90 10 20 00 	clr  %o0	! 0 <PROM_START>
                     <== NOT EXECUTED

                                                                     

40003a84 <IMFS_rename>: 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 <IMFS_rename+0xe8>
               <== 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 <IMFS_rename+0xb8>
              <== 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 <malloc>
                       <== 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 <IMFS_rename+0xd0>
               <== 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 <memcpy>
                       <== 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 <IMFS_rename+0xa8>
              <== 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 <free>
                         <== NOT EXECUTED
40003b30:	d0 07 60 0c 	ld  [ %i5 + 0xc ], %o0
                        <== NOT EXECUTED
40003b34:	10 bf ff e8 	b  40003ad4 <IMFS_rename+0x50>
                <== 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 <IMFS_rmnod>: 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 <IMFS_rmnod+0x60>
             <== 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 <IMFS_rmnod+0x60>
                <== 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 <IMFS_stat_file>: 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 <imfs_memfile_bytes_per_block>
<== 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 <IMFS_stat>
                    <== NOT EXECUTED
40003c18:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

40003cbc <IMFS_symlink>: {
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 <strlen>
                       <== 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 <IMFS_create_node>
             <== 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 <IMFS_symlink+0x4c>
              <== 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 <IMFS_unmount>: #endif #include <rtems/imfs.h> 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 <IMFS_unmount+0x5c>
             <== 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 <IMFS_unmount+0x44>
             <== 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 <IMFS_utime>: 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 <time>
                         <== NOT EXECUTED
40003e20:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40003e24:	d0 3f 60 30 	std  %o0, [ %i5 + 0x30 ]
                      <== NOT EXECUTED

                                                                     
  return 0;
                                                          
}
                                                                    
40003e28:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40003e2c:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4000b864 <device_close>: } int device_close( rtems_libio_t *iop ) {
4000b864:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  const IMFS_device_t *device = IMFS_iop_to_device( iop );
           

                                                                     
  return rtems_deviceio_close(
                                       
4000b868:	d4 00 60 44 	ld  [ %g1 + 0x44 ], %o2
                       <== NOT EXECUTED
4000b86c:	d2 00 60 40 	ld  [ %g1 + 0x40 ], %o1
                       <== NOT EXECUTED
4000b870:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4000b874:	40 00 01 a4 	call  4000bf04 <rtems_deviceio_close>
         <== NOT EXECUTED
4000b878:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4000b8c4 <device_ftruncate>: rtems_libio_t *iop, off_t length ) { return 0; }
4000b8c4:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
4000b8c8:	90 10 20 00 	clr  %o0
                                      <== NOT EXECUTED

                                                                     

4000b8ac <device_ioctl>: int device_ioctl( rtems_libio_t *iop, ioctl_command_t command, void *buffer ) {
4000b8ac:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  const IMFS_device_t *device = IMFS_iop_to_device( iop );
           

                                                                     
  return rtems_deviceio_control(
                                     
4000b8b0:	d8 00 60 44 	ld  [ %g1 + 0x44 ], %o4
                       <== NOT EXECUTED
4000b8b4:	d6 00 60 40 	ld  [ %g1 + 0x40 ], %o3
                       <== NOT EXECUTED
4000b8b8:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4000b8bc:	40 00 01 d6 	call  4000c014 <rtems_deviceio_control>
       <== NOT EXECUTED
4000b8c0:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4000b850 <device_open>: rtems_libio_t *iop, const char *pathname, int oflag, mode_t mode ) {
4000b850:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  const IMFS_device_t *device = IMFS_iop_to_device( iop );
           

                                                                     
  return rtems_deviceio_open(
                                        
4000b854:	d8 18 60 40 	ldd  [ %g1 + 0x40 ], %o4
                      <== NOT EXECUTED
4000b858:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4000b85c:	40 00 01 9d 	call  4000bed0 <rtems_deviceio_open>
          <== NOT EXECUTED
4000b860:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4000b87c <device_read>: ssize_t device_read( rtems_libio_t *iop, void *buffer, size_t count ) {
4000b87c:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  const IMFS_device_t *device = IMFS_iop_to_device( iop );
           

                                                                     
  return rtems_deviceio_read(
                                        
4000b880:	d8 00 60 44 	ld  [ %g1 + 0x44 ], %o4
                       <== NOT EXECUTED
4000b884:	d6 00 60 40 	ld  [ %g1 + 0x40 ], %o3
                       <== NOT EXECUTED
4000b888:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4000b88c:	40 00 01 aa 	call  4000bf34 <rtems_deviceio_read>
          <== NOT EXECUTED
4000b890:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4000b894 <device_write>: ssize_t device_write( rtems_libio_t *iop, const void *buffer, size_t count ) {
4000b894:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  const IMFS_device_t *device = IMFS_iop_to_device( iop );
           

                                                                     
  return rtems_deviceio_write(
                                       
4000b898:	d8 00 60 44 	ld  [ %g1 + 0x44 ], %o4
                       <== NOT EXECUTED
4000b89c:	d6 00 60 40 	ld  [ %g1 + 0x40 ], %o3
                       <== NOT EXECUTED
4000b8a0:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4000b8a4:	40 00 01 c0 	call  4000bfa4 <rtems_deviceio_write>
         <== NOT EXECUTED
4000b8a8:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED